// Copyright (c) 2010-2014 SharpDX - Alexandre Mutel
// 
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// 
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
// 
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.

//------------------------------------------------------------------------------
// <auto-generated>
//     Types declaration for SharpDX.Direct3D10 namespace.
//     This code was generated by a tool.
//     Date : 17.06.2016 1:24:51
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Runtime.InteropServices;
using System.Security;
namespace SharpDX.Direct3D10 {

#pragma warning disable 419
#pragma warning disable 1587
#pragma warning disable 1574

        /// <summary>	
        /// Functions	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='SharpDX.Direct3D10.D3D10']/*"/>	
    static  partial class D3D10 {   
        
        /// <summary>Constant SdkVersion.</summary>
        /// <unmanaged>D3D10_SDK_VERSION</unmanaged>
        public const int SdkVersion = 29;
        
        /// <summary>Constant SdkVersion1.</summary>
        /// <unmanaged>D3D10_1_SDK_VERSION</unmanaged>
        public const int SdkVersion1 = 32;
        
        /// <summary>	
        /// <p>Create a Direct3D 10.1 device and a swap chain.</p>	
        /// </summary>	
        /// <param name="adapterRef"><dd>  <p>Pointer to a <strong><see cref="SharpDX.DXGI.Adapter"/></strong>.</p> </dd></param>	
        /// <param name="driverType"><dd>  <p>The type of driver for the device. See <strong><see cref="SharpDX.Direct3D10.DriverType"/></strong>.</p> </dd></param>	
        /// <param name="software"><dd>  <p>A handle to the DLL that implements a software rasterizer. Must be <strong><c>null</c></strong> if DriverType is non-software.  The HMODULE of a DLL can be obtained with LoadLibrary,  LoadLibraryEx,  or GetModuleHandle.</p> </dd></param>	
        /// <param name="flags"><dd>  <p>Optional. Device creation flags (see <strong><see cref="SharpDX.Direct3D10.DeviceCreationFlags"/></strong>) that  enable API layers. These flags can be bitwise OR'd together.</p> </dd></param>	
        /// <param name="hardwareLevel"><dd>  <p>The version of hardware that is available for acceleration (see <strong><see cref="SharpDX.Direct3D10.FeatureLevel"/></strong>).</p> </dd></param>	
        /// <param name="sDKVersion"><dd>  <p>Bit flag that indicates the version of the SDK. Should be <see cref="SharpDX.Direct3D10.D3D10.SdkVersion1"/>, defined in D3D10.h.</p> </dd></param>	
        /// <param name="swapChainDescRef"><dd>  <p>Description of the swap chain. See <strong><see cref="SharpDX.DXGI.SwapChainDescription"/></strong>.</p> </dd></param>	
        /// <param name="swapChainOut"><dd>  <p>Address of a reference to an <strong><see cref="SharpDX.DXGI.SwapChain"/></strong>.</p> </dd></param>	
        /// <param name="deviceOut"><dd>  <p>Address of a reference to an <strong><see cref="SharpDX.Direct3D10.Device1"/> Interface</strong> that will receive the newly created device.</p> </dd></param>	
        /// <returns><p>This method returns one of the following Direct3D 10 Return Codes.</p></returns>	
        /// <remarks>	
        /// <p>To create a device without creating a swap chain, see <strong><see cref="SharpDX.Direct3D10.D3D10.CreateDevice1"/></strong>.</p><p>This method requires Windows Vista Service Pack 1, Windows Server 2008, or later release of Windows.</p><p><strong>Note</strong>??If you call this API in a Session 0 process, it returns <strong><see cref="SharpDX.DXGI.ResultCode.NotCurrentlyAvailable"/></strong>.</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10CreateDeviceAndSwapChain1']/*"/>	
        /// <msdn-id>bb694527</msdn-id>	
        /// <unmanaged>HRESULT D3D10CreateDeviceAndSwapChain1([In, Optional] IDXGIAdapter* pAdapter,[In] D3D10_DRIVER_TYPE DriverType,[In] HINSTANCE Software,[In] D3D10_CREATE_DEVICE_FLAG Flags,[In] D3D10_FEATURE_LEVEL1 HardwareLevel,[In] unsigned int SDKVersion,[In] DXGI_SWAP_CHAIN_DESC* pSwapChainDesc,[Out] IDXGISwapChain** ppSwapChain,[Out] ID3D10Device1** ppDevice)</unmanaged>	
        /// <unmanaged-short>D3D10CreateDeviceAndSwapChain1</unmanaged-short>	
        public static void CreateDeviceAndSwapChain1(SharpDX.DXGI.Adapter adapterRef, SharpDX.Direct3D10.DriverType driverType, System.IntPtr software, SharpDX.Direct3D10.DeviceCreationFlags flags, SharpDX.Direct3D10.FeatureLevel hardwareLevel, int sDKVersion, ref SharpDX.DXGI.SwapChainDescription swapChainDescRef, out SharpDX.DXGI.SwapChain swapChainOut, out SharpDX.Direct3D10.Device1 deviceOut) {
            unsafe {
                IntPtr swapChainOut_ = IntPtr.Zero;
                IntPtr deviceOut_ = IntPtr.Zero;
                SharpDX.Result __result__;
                fixed (void* swapChainDescRef_ = &swapChainDescRef)
                    __result__= 
    				D3D10CreateDeviceAndSwapChain1_((void*)((adapterRef == null)?IntPtr.Zero:adapterRef.NativePointer), unchecked((int)driverType), (void*)software, unchecked((int)flags), unchecked((int)hardwareLevel), sDKVersion, swapChainDescRef_, &swapChainOut_, &deviceOut_);		
                swapChainOut= (swapChainOut_ == IntPtr.Zero)?null:new SharpDX.DXGI.SwapChain(swapChainOut_);	
                deviceOut= (deviceOut_ == IntPtr.Zero)?null:new SharpDX.Direct3D10.Device1(deviceOut_);	
                __result__.CheckError();
            }
        }
        [DllImport("d3d10_1.dll", EntryPoint = "D3D10CreateDeviceAndSwapChain1", CallingConvention = CallingConvention.StdCall)]
        private unsafe static extern int D3D10CreateDeviceAndSwapChain1_(void* arg0,int arg1,void* arg2,int arg3,int arg4,int arg5,void* arg6,void* arg7,void* arg8);
        
        /// <summary>	
        /// <p>Create a Direct3D 10.1 device that represents the display adapter.</p>	
        /// </summary>	
        /// <param name="adapterRef"><dd>  <p>Pointer to the display adapter (see <strong><see cref="SharpDX.DXGI.Adapter"/></strong>) when creating a hardware device; otherwise set this parameter to  <strong><c>null</c></strong>. If <strong><c>null</c></strong> is specified when creating a hardware device, Direct3D will use the first adapter enumerated  by <strong>EnumAdapters</strong>.</p> </dd></param>	
        /// <param name="driverType"><dd>  <p>The device-driver type (see <strong><see cref="SharpDX.Direct3D10.DriverType"/></strong>). The driver type determines the type of device you will create.</p> </dd></param>	
        /// <param name="software"><dd>  <p>This is set to <strong><c>null</c></strong> except for <see cref="SharpDX.Direct3D10.DriverType.Software"/> driver types.</p> </dd></param>	
        /// <param name="flags"><dd>  <p>Optional. Device creation flags (see <strong><see cref="SharpDX.Direct3D10.DeviceCreationFlags"/></strong>) that  enable API layers. These flags can be bitwise OR'd together.</p> </dd></param>	
        /// <param name="hardwareLevel"><dd>  <p>The version of hardware that is available for acceleration (see <strong><see cref="SharpDX.Direct3D10.FeatureLevel"/></strong>).</p> </dd></param>	
        /// <param name="sDKVersion"><dd>  <p>Bit flag that indicates the version of the SDK. Should be <see cref="SharpDX.Direct3D10.D3D10.SdkVersion1"/>, defined in D3D10.h.</p> </dd></param>	
        /// <param name="deviceOut"><dd>  <p>Address of a reference to the device created (see <strong><see cref="SharpDX.Direct3D10.Device1"/> Interface</strong>).</p> </dd></param>	
        /// <returns><p>This method returns one of the following Direct3D 10 Return Codes.</p></returns>	
        /// <remarks>	
        /// <p>To create a device and a swap chain at the same time, see <strong><see cref="SharpDX.Direct3D10.D3D10.CreateDeviceAndSwapChain1"/></strong>.</p><p>This method requires Windows Vista Service Pack 1, Windows Server 2008, or later release of Windows.</p><p>The object returned by <see cref="SharpDX.Direct3D10.D3D10.CreateDevice1"/> implements the <see cref="SharpDX.ComObject"/> interface  and can be queried for other  interfaces the object supports. To retrieve the <strong><see cref="SharpDX.DXGI.Device"/></strong> interface of the object the following code could be used.</p><pre> <see cref="SharpDX.DXGI.Device"/> * pDXGIDevice;	
        /// hr = g_pd3dDevice-&gt;QueryInterface(__uuidof(<see cref="SharpDX.DXGI.Device"/>), (void **)&amp;pDXGIDevice); </pre>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10CreateDevice1']/*"/>	
        /// <msdn-id>bb694526</msdn-id>	
        /// <unmanaged>HRESULT D3D10CreateDevice1([In, Optional] IDXGIAdapter* pAdapter,[In] D3D10_DRIVER_TYPE DriverType,[In] HINSTANCE Software,[In] D3D10_CREATE_DEVICE_FLAG Flags,[In] D3D10_FEATURE_LEVEL1 HardwareLevel,[In] unsigned int SDKVersion,[Out, Fast] ID3D10Device1** ppDevice)</unmanaged>	
        /// <unmanaged-short>D3D10CreateDevice1</unmanaged-short>	
        public static void CreateDevice1(SharpDX.DXGI.Adapter adapterRef, SharpDX.Direct3D10.DriverType driverType, System.IntPtr software, SharpDX.Direct3D10.DeviceCreationFlags flags, SharpDX.Direct3D10.FeatureLevel hardwareLevel, int sDKVersion, SharpDX.Direct3D10.Device1 deviceOut) {
            unsafe {
                IntPtr deviceOut_ = IntPtr.Zero;
                SharpDX.Result __result__;
                __result__= 
				D3D10CreateDevice1_((void*)((adapterRef == null)?IntPtr.Zero:adapterRef.NativePointer), unchecked((int)driverType), (void*)software, unchecked((int)flags), unchecked((int)hardwareLevel), sDKVersion, &deviceOut_);		
                ((SharpDX.Direct3D10.Device1)deviceOut).NativePointer = deviceOut_;
                __result__.CheckError();
            }
        }
        [DllImport("d3d10_1.dll", EntryPoint = "D3D10CreateDevice1", CallingConvention = CallingConvention.StdCall)]
        private unsafe static extern int D3D10CreateDevice1_(void* arg0,int arg1,void* arg2,int arg3,int arg4,int arg5,void* arg6);
        
        /// <summary>	
        /// <p>Create a Direct3D 10.0 device and a swap chain.</p>	
        /// </summary>	
        /// <param name="adapterRef"><dd>  <p>Pointer to a <strong><see cref="SharpDX.DXGI.Adapter"/></strong>.</p> </dd></param>	
        /// <param name="driverType"><dd>  <p>The type of driver for the device. See <strong><see cref="SharpDX.Direct3D10.DriverType"/></strong>.</p> </dd></param>	
        /// <param name="software"><dd>  <p>A handle to the DLL that implements a software rasterizer. Must be <strong><c>null</c></strong> if DriverType is non-software. The HMODULE of a DLL can be obtained with LoadLibrary, LoadLibraryEx, or GetModuleHandle.</p> </dd></param>	
        /// <param name="flags"><dd>  <p>Optional. Device creation flags (see <strong><see cref="SharpDX.Direct3D10.DeviceCreationFlags"/></strong>) that enable API layers. These flags can be bitwise OR'd together.</p> </dd></param>	
        /// <param name="sDKVersion"><dd>  <p>Bit flag that indicates the version of the SDK. Should be <see cref="SharpDX.Direct3D10.D3D10.SdkVersion"/>, defined in d3d10.h.</p> </dd></param>	
        /// <param name="swapChainDescRef"><dd>  <p>Description of the swap chain. See <strong><see cref="SharpDX.DXGI.SwapChainDescription"/></strong>.</p> </dd></param>	
        /// <param name="swapChainOut"><dd>  <p>Address of a reference to an <strong><see cref="SharpDX.DXGI.SwapChain"/></strong>.</p> </dd></param>	
        /// <param name="deviceOut"><dd>  <p>Address of a reference to an <strong><see cref="SharpDX.Direct3D10.Device"/> Interface</strong> that will receive the newly created device.</p> </dd></param>	
        /// <returns><p>This method returns one of the following Direct3D 10 Return Codes.</p></returns>	
        /// <remarks>	
        /// <p>To create a device without creating a swap chain, see <strong><see cref="SharpDX.Direct3D10.D3D10.CreateDevice"/></strong>.</p><p><strong>Note</strong>??If you call this API in a Session 0 process, it returns <strong><see cref="SharpDX.DXGI.ResultCode.NotCurrentlyAvailable"/></strong>.</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10CreateDeviceAndSwapChain']/*"/>	
        /// <msdn-id>bb205087</msdn-id>	
        /// <unmanaged>HRESULT D3D10CreateDeviceAndSwapChain([In, Optional] IDXGIAdapter* pAdapter,[In] D3D10_DRIVER_TYPE DriverType,[In] HINSTANCE Software,[In] D3D10_CREATE_DEVICE_FLAG Flags,[In] unsigned int SDKVersion,[In] DXGI_SWAP_CHAIN_DESC* pSwapChainDesc,[Out] IDXGISwapChain** ppSwapChain,[Out] ID3D10Device** ppDevice)</unmanaged>	
        /// <unmanaged-short>D3D10CreateDeviceAndSwapChain</unmanaged-short>	
        public static void CreateDeviceAndSwapChain(SharpDX.DXGI.Adapter adapterRef, SharpDX.Direct3D10.DriverType driverType, System.IntPtr software, SharpDX.Direct3D10.DeviceCreationFlags flags, int sDKVersion, ref SharpDX.DXGI.SwapChainDescription swapChainDescRef, out SharpDX.DXGI.SwapChain swapChainOut, out SharpDX.Direct3D10.Device deviceOut) {
            unsafe {
                IntPtr swapChainOut_ = IntPtr.Zero;
                IntPtr deviceOut_ = IntPtr.Zero;
                SharpDX.Result __result__;
                fixed (void* swapChainDescRef_ = &swapChainDescRef)
                    __result__= 
    				D3D10CreateDeviceAndSwapChain_((void*)((adapterRef == null)?IntPtr.Zero:adapterRef.NativePointer), unchecked((int)driverType), (void*)software, unchecked((int)flags), sDKVersion, swapChainDescRef_, &swapChainOut_, &deviceOut_);		
                swapChainOut= (swapChainOut_ == IntPtr.Zero)?null:new SharpDX.DXGI.SwapChain(swapChainOut_);	
                deviceOut= (deviceOut_ == IntPtr.Zero)?null:new SharpDX.Direct3D10.Device(deviceOut_);	
                __result__.CheckError();
            }
        }
        [DllImport("d3d10.dll", EntryPoint = "D3D10CreateDeviceAndSwapChain", CallingConvention = CallingConvention.StdCall)]
        private unsafe static extern int D3D10CreateDeviceAndSwapChain_(void* arg0,int arg1,void* arg2,int arg3,int arg4,void* arg5,void* arg6,void* arg7);
        
        /// <summary>	
        /// <p>Create a Direct3D 10.0 device that represents the display adapter.</p>	
        /// </summary>	
        /// <param name="adapterRef"><dd>  <p>Pointer to the display adapter (see <strong><see cref="SharpDX.DXGI.Adapter"/></strong>) when creating a hardware device; otherwise set this parameter to <strong><c>null</c></strong>.  If <strong><c>null</c></strong> is specified when creating a hardware device, Direct3D will use the first adapter enumerated by <strong>EnumAdapters</strong>.</p> </dd></param>	
        /// <param name="driverType"><dd>  <p>The device-driver type (see <strong><see cref="SharpDX.Direct3D10.DriverType"/></strong>). The driver type determines the type of device you will create.</p> </dd></param>	
        /// <param name="software"><dd>  <p>Reserved. Set to <strong><c>null</c></strong>.</p> </dd></param>	
        /// <param name="flags"><dd>  <p>Optional. Device creation flags (see <strong><see cref="SharpDX.Direct3D10.DeviceCreationFlags"/></strong>) that  enable API layers. These flags can be bitwise OR'd together.</p> </dd></param>	
        /// <param name="sDKVersion"><dd>  <p>Bit flag that indicates the version of the SDK. Should always be <see cref="SharpDX.Direct3D10.D3D10.SdkVersion"/>.</p> </dd></param>	
        /// <param name="deviceOut"><dd>  <p>Address of a reference to the device created (see <strong><see cref="SharpDX.Direct3D10.Device"/> Interface</strong>).</p> </dd></param>	
        /// <returns><p>This method returns one of the following Direct3D 10 Return Codes.</p></returns>	
        /// <remarks>	
        /// <p>This example creates a reference device.</p><pre> <see cref="SharpDX.Direct3D10.Device"/>* g_pd3dDevice = <c>null</c>;	
        /// <see cref="SharpDX.Direct3D10.D3D10.CreateDevice"/>( <c>null</c>, <see cref="SharpDX.Direct3D10.DriverType.Reference"/>, <c>null</c>, 0,  <see cref="SharpDX.Direct3D10.D3D10.SdkVersion"/>, &amp;g_pd3dDevice );              </pre><p>To create a device and a swap chain at the same time, see <strong><see cref="SharpDX.Direct3D10.D3D10.CreateDeviceAndSwapChain"/></strong>.</p><p>The object returned by <see cref="SharpDX.Direct3D10.D3D10.CreateDevice"/> implements the <see cref="SharpDX.ComObject"/> interface and can be queried for other  interfaces the object supports. To retrieve the <strong><see cref="SharpDX.DXGI.Device"/></strong> interface of the object the following code could be used.</p><pre> <see cref="SharpDX.DXGI.Device"/> * pDXGIDevice;	
        /// hr = g_pd3dDevice-&gt;QueryInterface(__uuidof(<see cref="SharpDX.DXGI.Device"/>), (void **)&amp;pDXGIDevice); </pre>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10CreateDevice']/*"/>	
        /// <msdn-id>bb205086</msdn-id>	
        /// <unmanaged>HRESULT D3D10CreateDevice([In, Optional] IDXGIAdapter* pAdapter,[In] D3D10_DRIVER_TYPE DriverType,[In] HINSTANCE Software,[In] D3D10_CREATE_DEVICE_FLAG Flags,[In] unsigned int SDKVersion,[Out, Fast] ID3D10Device** ppDevice)</unmanaged>	
        /// <unmanaged-short>D3D10CreateDevice</unmanaged-short>	
        public static void CreateDevice(SharpDX.DXGI.Adapter adapterRef, SharpDX.Direct3D10.DriverType driverType, System.IntPtr software, SharpDX.Direct3D10.DeviceCreationFlags flags, int sDKVersion, SharpDX.Direct3D10.Device deviceOut) {
            unsafe {
                IntPtr deviceOut_ = IntPtr.Zero;
                SharpDX.Result __result__;
                __result__= 
				D3D10CreateDevice_((void*)((adapterRef == null)?IntPtr.Zero:adapterRef.NativePointer), unchecked((int)driverType), (void*)software, unchecked((int)flags), sDKVersion, &deviceOut_);		
                ((SharpDX.Direct3D10.Device)deviceOut).NativePointer = deviceOut_;
                __result__.CheckError();
            }
        }
        [DllImport("d3d10.dll", EntryPoint = "D3D10CreateDevice", CallingConvention = CallingConvention.StdCall)]
        private unsafe static extern int D3D10CreateDevice_(void* arg0,int arg1,void* arg2,int arg3,int arg4,void* arg5);
        
        /// <summary>	
        /// <p>Get the vertex shader profile best suited to a given device.</p>	
        /// </summary>	
        /// <param name="deviceRef">No documentation.</param>	
        /// <returns><p>The shader profile.</p></returns>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10GetVertexShaderProfile']/*"/>	
        /// <msdn-id>bb205099</msdn-id>	
        /// <unmanaged>const char* D3D10GetVertexShaderProfile([In] ID3D10Device* pDevice)</unmanaged>	
        /// <unmanaged-short>D3D10GetVertexShaderProfile</unmanaged-short>	
        public static string GetVertexShaderProfile(SharpDX.Direct3D10.Device deviceRef) {
            unsafe {
                string __result__;
                __result__= 
				Marshal.PtrToStringAnsi(D3D10GetVertexShaderProfile_((void*)((deviceRef == null)?IntPtr.Zero:deviceRef.NativePointer)));		
                return __result__;
            }
        }
        [DllImport("d3d10.dll", EntryPoint = "D3D10GetVertexShaderProfile", CallingConvention = CallingConvention.StdCall)]
        private unsafe static extern System.IntPtr D3D10GetVertexShaderProfile_(void* arg0);
        
        /// <summary>	
        /// <p>Get the pixel shader profile best suited to a given device.</p>	
        /// </summary>	
        /// <param name="deviceRef">No documentation.</param>	
        /// <returns><p>The shader profile.</p></returns>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10GetPixelShaderProfile']/*"/>	
        /// <msdn-id>bb205097</msdn-id>	
        /// <unmanaged>const char* D3D10GetPixelShaderProfile([In] ID3D10Device* pDevice)</unmanaged>	
        /// <unmanaged-short>D3D10GetPixelShaderProfile</unmanaged-short>	
        public static string GetPixelShaderProfile(SharpDX.Direct3D10.Device deviceRef) {
            unsafe {
                string __result__;
                __result__= 
				Marshal.PtrToStringAnsi(D3D10GetPixelShaderProfile_((void*)((deviceRef == null)?IntPtr.Zero:deviceRef.NativePointer)));		
                return __result__;
            }
        }
        [DllImport("d3d10.dll", EntryPoint = "D3D10GetPixelShaderProfile", CallingConvention = CallingConvention.StdCall)]
        private unsafe static extern System.IntPtr D3D10GetPixelShaderProfile_(void* arg0);
        
        /// <summary>	
        /// <p>Get the geometry shader profile best suited to a given device.</p>	
        /// </summary>	
        /// <param name="deviceRef">No documentation.</param>	
        /// <returns><p>The shader profile.</p></returns>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10GetGeometryShaderProfile']/*"/>	
        /// <msdn-id>bb205093</msdn-id>	
        /// <unmanaged>const char* D3D10GetGeometryShaderProfile([In] ID3D10Device* pDevice)</unmanaged>	
        /// <unmanaged-short>D3D10GetGeometryShaderProfile</unmanaged-short>	
        public static string GetGeometryShaderProfile(SharpDX.Direct3D10.Device deviceRef) {
            unsafe {
                string __result__;
                __result__= 
				Marshal.PtrToStringAnsi(D3D10GetGeometryShaderProfile_((void*)((deviceRef == null)?IntPtr.Zero:deviceRef.NativePointer)));		
                return __result__;
            }
        }
        [DllImport("d3d10.dll", EntryPoint = "D3D10GetGeometryShaderProfile", CallingConvention = CallingConvention.StdCall)]
        private unsafe static extern System.IntPtr D3D10GetGeometryShaderProfile_(void* arg0);
        
        /// <summary>	
        /// <p>Create an effect pool (or shared memory location), to enable sharing variables between effects.</p>	
        /// </summary>	
        /// <param name="dataRef"><dd>  <p>A reference to a compiled effect.</p> </dd></param>	
        /// <param name="dataLength"><dd>  <p>Length of <em>pData</em>.</p> </dd></param>	
        /// <param name="fXFlags"><dd>  <p>Effect compile options.</p> </dd></param>	
        /// <param name="deviceRef"><dd>  <p>A reference to the device (see <strong><see cref="SharpDX.Direct3D10.Device"/> Interface</strong>).</p> </dd></param>	
        /// <param name="effectPoolOut"><dd>  <p>A reference to the <strong><see cref="SharpDX.Direct3D10.EffectPool"/> Interface</strong> that contains the effect pool.</p> </dd></param>	
        /// <returns><p>Returns one of the following Direct3D 10 Return Codes.</p></returns>	
        /// <remarks>	
        /// <p>A pool is a shared location in memory. Effect variables that are located in a pool can be updated once, and the effect system will take care of updating each effect that uses that variable. To pool an effect variable, tell the effect to locate the variable in a pool when the effect is created, using a helper function such as <strong><see cref="SharpDX.Direct3D10.D3DX10.CreateEffectFromFile"/></strong>.</p><p>For help compiling an effect, see Compile an Effect (Direct3D 10).</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10CreateEffectPoolFromMemory']/*"/>	
        /// <msdn-id>bb205089</msdn-id>	
        /// <unmanaged>HRESULT D3D10CreateEffectPoolFromMemory([In, Buffer] void* pData,[In] SIZE_T DataLength,[In] unsigned int FXFlags,[In] ID3D10Device* pDevice,[Out, Fast] ID3D10EffectPool** ppEffectPool)</unmanaged>	
        /// <unmanaged-short>D3D10CreateEffectPoolFromMemory</unmanaged-short>	
        public static void CreateEffectPoolFromMemory(System.IntPtr dataRef, SharpDX.PointerSize dataLength, int fXFlags, SharpDX.Direct3D10.Device deviceRef, SharpDX.Direct3D10.EffectPool effectPoolOut) {
            unsafe {
                IntPtr effectPoolOut_ = IntPtr.Zero;
                SharpDX.Result __result__;
                __result__= 
				D3D10CreateEffectPoolFromMemory_((void*)dataRef, (void*)dataLength, fXFlags, (void*)((deviceRef == null)?IntPtr.Zero:deviceRef.NativePointer), &effectPoolOut_);		
                ((SharpDX.Direct3D10.EffectPool)effectPoolOut).NativePointer = effectPoolOut_;
                __result__.CheckError();
            }
        }
        [DllImport("d3d10.dll", EntryPoint = "D3D10CreateEffectPoolFromMemory", CallingConvention = CallingConvention.StdCall)]
        private unsafe static extern int D3D10CreateEffectPoolFromMemory_(void* arg0,void* arg1,int arg2,void* arg3,void* arg4);
        
        /// <summary>	
        /// <p>Creates an <see cref="SharpDX.Direct3D10.Effect"/> from a buffer containing a compiled effect.</p>	
        /// </summary>	
        /// <param name="dataRef"><dd>  <p>A reference to a compiled effect.</p> </dd></param>	
        /// <param name="dataLength"><dd>  <p>Length of <em>pData</em>.</p> </dd></param>	
        /// <param name="fXFlags"><dd>  <p>Effect compile options.</p> </dd></param>	
        /// <param name="deviceRef"><dd>  <p>A reference to the device (see <strong><see cref="SharpDX.Direct3D10.Device"/> Interface</strong>).</p> </dd></param>	
        /// <param name="effectPoolRef"><dd>  <p>Optional. A reference to an memory space for effect variables that are shared across effects (see <strong><see cref="SharpDX.Direct3D10.EffectPool"/> Interface</strong>).</p> </dd></param>	
        /// <param name="effectOut"><dd>  <p>A reference to an <strong><see cref="SharpDX.Direct3D10.Effect"/> Interface</strong> which contains the created effect.</p> </dd></param>	
        /// <returns><p>Returns one of the following Direct3D 10 Return Codes.</p></returns>	
        /// <remarks>	
        /// <p>This method is used to create an <strong><see cref="SharpDX.Direct3D10.Effect"/> Interface</strong> object from an effect that has been compiled before runtime and loaded into memory.   For help precompiling an effect, see Offline Compiling.   To load and compile an ASCII .fx file see Compile an Effect (Direct3D 10).</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10CreateEffectFromMemory']/*"/>	
        /// <msdn-id>bb205088</msdn-id>	
        /// <unmanaged>HRESULT D3D10CreateEffectFromMemory([In, Buffer] void* pData,[In] SIZE_T DataLength,[In] unsigned int FXFlags,[In] ID3D10Device* pDevice,[In, Optional] ID3D10EffectPool* pEffectPool,[Out, Fast] ID3D10Effect** ppEffect)</unmanaged>	
        /// <unmanaged-short>D3D10CreateEffectFromMemory</unmanaged-short>	
        public static void CreateEffectFromMemory(System.IntPtr dataRef, SharpDX.PointerSize dataLength, int fXFlags, SharpDX.Direct3D10.Device deviceRef, SharpDX.Direct3D10.EffectPool effectPoolRef, SharpDX.Direct3D10.Effect effectOut) {
            unsafe {
                IntPtr effectOut_ = IntPtr.Zero;
                SharpDX.Result __result__;
                __result__= 
				D3D10CreateEffectFromMemory_((void*)dataRef, (void*)dataLength, fXFlags, (void*)((deviceRef == null)?IntPtr.Zero:deviceRef.NativePointer), (void*)((effectPoolRef == null)?IntPtr.Zero:effectPoolRef.NativePointer), &effectOut_);		
                ((SharpDX.Direct3D10.Effect)effectOut).NativePointer = effectOut_;
                __result__.CheckError();
            }
        }
        [DllImport("d3d10.dll", EntryPoint = "D3D10CreateEffectFromMemory", CallingConvention = CallingConvention.StdCall)]
        private unsafe static extern int D3D10CreateEffectFromMemory_(void* arg0,void* arg1,int arg2,void* arg3,void* arg4,void* arg5);
        
        /// <summary>	
        /// <p>Create a state block.</p>	
        /// </summary>	
        /// <param name="deviceRef"><dd>  <p>The device for which the state block will be created.</p> </dd></param>	
        /// <param name="stateBlockMaskRef"><dd>  <p>Indicates which parts of the device state will be captured when calling <strong><see cref="SharpDX.Direct3D10.StateBlock.Capture"/></strong> and reapplied when calling <strong><see cref="SharpDX.Direct3D10.StateBlock.Apply"/></strong>. See remarks.</p> </dd></param>	
        /// <param name="stateBlockOut"><dd>  <p>Address of a reference to the buffer created (see <strong><see cref="SharpDX.Direct3D10.StateBlock"/> Interface</strong>).</p> </dd></param>	
        /// <returns><p>This method returns one of the following Direct3D 10 Return Codes.</p></returns>	
        /// <remarks>	
        /// <p>A state block is a collection of device state, and is used for saving and restoring device state. Use a state-block mask to enable subsets of state for saving and restoring.</p><p>The <strong><see cref="SharpDX.Direct3D10.StateBlockMask"/></strong> structure can be filled manually or by using any of the D3D10StateBlockMaskXXX APIs. A state block mask can also be obtained by calling <strong><see cref="SharpDX.Direct3D10.EffectTechnique.ComputeStateBlockMask"/></strong> or <strong><see cref="SharpDX.Direct3D10.EffectPass.ComputeStateBlockMask"/></strong>.</p><table> <tr><td> <p>Differences between Direct3D 9 and Direct3D 10:</p> <p>In Direct3D 10, a state block object does not contain any valid information about the state of the device until <strong><see cref="SharpDX.Direct3D10.StateBlock.Capture"/></strong> is called. In Direct3D 9, state is saved in a state block object, when it is created.</p> </td></tr> </table><p>?</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10CreateStateBlock']/*"/>	
        /// <msdn-id>bb205090</msdn-id>	
        /// <unmanaged>HRESULT D3D10CreateStateBlock([In] ID3D10Device* pDevice,[In] D3D10_STATE_BLOCK_MASK* pStateBlockMask,[Out, Fast] ID3D10StateBlock** ppStateBlock)</unmanaged>	
        /// <unmanaged-short>D3D10CreateStateBlock</unmanaged-short>	
        public static void CreateStateBlock(SharpDX.Direct3D10.Device deviceRef, ref SharpDX.Direct3D10.StateBlockMask stateBlockMaskRef, SharpDX.Direct3D10.StateBlock stateBlockOut) {
            unsafe {
                var stateBlockMaskRef_ = new SharpDX.Direct3D10.StateBlockMask.__Native();
                stateBlockMaskRef.__MarshalTo(ref stateBlockMaskRef_);
                IntPtr stateBlockOut_ = IntPtr.Zero;
                SharpDX.Result __result__;
                __result__= 
				D3D10CreateStateBlock_((void*)((deviceRef == null)?IntPtr.Zero:deviceRef.NativePointer), &stateBlockMaskRef_, &stateBlockOut_);		
                stateBlockMaskRef.__MarshalFree(ref stateBlockMaskRef_);
                ((SharpDX.Direct3D10.StateBlock)stateBlockOut).NativePointer = stateBlockOut_;
                __result__.CheckError();
            }
        }
        [DllImport("d3d10.dll", EntryPoint = "D3D10CreateStateBlock", CallingConvention = CallingConvention.StdCall)]
        private unsafe static extern int D3D10CreateStateBlock_(void* arg0,void* arg1,void* arg2);
        
        /// <summary>	
        /// <p>Compile an effect.	
        /// </p><p><strong>Note</strong>??Use <strong>D3DX10CompileFromMemory</strong> instead of this function.</p>	
        /// </summary>	
        /// <param name="dataRef">No documentation.</param>	
        /// <param name="dataLength">No documentation.</param>	
        /// <param name="srcFileNameRef">No documentation.</param>	
        /// <param name="definesRef">No documentation.</param>	
        /// <param name="includeRef">No documentation.</param>	
        /// <param name="hLSLFlags">No documentation.</param>	
        /// <param name="fXFlags">No documentation.</param>	
        /// <param name="compiledEffectOut">No documentation.</param>	
        /// <param name="errorsOut">No documentation.</param>	
        /// <returns><p>Returns one of the following Direct3D 10 Return Codes.</p></returns>	
        /// <remarks>	
        /// <p>This function uses the version of the HLSL compiler released in the November 2006 DirectX SDK.</p><p>For an example, see Compile an Effect (Direct3D 10).</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10CompileEffectFromMemory']/*"/>	
        /// <msdn-id>bb205083</msdn-id>	
        /// <unmanaged>HRESULT D3D10CompileEffectFromMemory([In, Buffer] void* pData,[In] SIZE_T DataLength,[In] const char* pSrcFileName,[In, Buffer, Optional] const D3D_SHADER_MACRO* pDefines,[In, Optional] ID3DInclude* pInclude,[In] D3DCOMPILE_SHADER_FLAGS HLSLFlags,[In] D3DCOMPILE_EFFECT_FLAGS FXFlags,[Out] ID3D10Blob** ppCompiledEffect,[Out, Optional] ID3D10Blob** ppErrors)</unmanaged>	
        /// <unmanaged-short>D3D10CompileEffectFromMemory</unmanaged-short>	
        public static void CompileEffect10FromMemory(System.IntPtr dataRef, SharpDX.PointerSize dataLength, string srcFileNameRef, SharpDX.Direct3D.ShaderMacro[] definesRef, System.IntPtr includeRef, SharpDX.D3DCompiler.ShaderFlags hLSLFlags, SharpDX.D3DCompiler.EffectFlags fXFlags, out SharpDX.Direct3D.Blob compiledEffectOut, out SharpDX.Direct3D.Blob errorsOut) {
            unsafe {
                IntPtr srcFileNameRef_ = Utilities.StringToHGlobalAnsi(srcFileNameRef);
                SharpDX.Direct3D.ShaderMacro.__Native[] definesRef__ = (definesRef == null)? null : new SharpDX.Direct3D.ShaderMacro.__Native[definesRef.Length];
				if (definesRef != null)
                for (int i = 0; i < definesRef.Length; i++)
                    definesRef[i].__MarshalTo(ref definesRef__[i]);				
                IntPtr compiledEffectOut_ = IntPtr.Zero;
                IntPtr errorsOut_ = IntPtr.Zero;
                SharpDX.Result __result__;
                fixed (void* definesRef_ = definesRef__)
                    __result__= 
    				D3D10CompileEffectFromMemory_((void*)dataRef, (void*)dataLength, (void*)srcFileNameRef_, definesRef_, (void*)includeRef, unchecked((int)hLSLFlags), unchecked((int)fXFlags), &compiledEffectOut_, &errorsOut_);		
                Marshal.FreeHGlobal(srcFileNameRef_ );
                if (definesRef != null )															
                for (int i = 0; i < definesRef.Length; i++)
                    definesRef[i].__MarshalFree(ref definesRef__[i]);
                compiledEffectOut= (compiledEffectOut_ == IntPtr.Zero)?null:new SharpDX.Direct3D.Blob(compiledEffectOut_);	
                errorsOut= (errorsOut_ == IntPtr.Zero)?null:new SharpDX.Direct3D.Blob(errorsOut_);	
                __result__.CheckError();
            }
        }
        [DllImport("d3d10.dll", EntryPoint = "D3D10CompileEffectFromMemory", CallingConvention = CallingConvention.StdCall)]
        private unsafe static extern int D3D10CompileEffectFromMemory_(void* arg0,void* arg1,void* arg2,void* arg3,void* arg4,int arg5,int arg6,void* arg7,void* arg8);
    }
        /// <summary>	
        /// Functions	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='SharpDX.Direct3D10.D3DX10']/*"/>	
    static  partial class D3DX10 {   
        
        /// <summary>	
        /// <p>Creates a font object for a device and font.</p><p><strong>Note</strong>??Instead of using this function, we recommend that you use DirectWrite and the DirectXTK library, <strong>SpriteFont</strong> class. </p>	
        /// </summary>	
        /// <param name="deviceRef">No documentation.</param>	
        /// <param name="height">No documentation.</param>	
        /// <param name="width">No documentation.</param>	
        /// <param name="weight">No documentation.</param>	
        /// <param name="mipLevels">No documentation.</param>	
        /// <param name="italic">No documentation.</param>	
        /// <param name="charSet">No documentation.</param>	
        /// <param name="outputPrecision">No documentation.</param>	
        /// <param name="quality">No documentation.</param>	
        /// <param name="pitchAndFamily">No documentation.</param>	
        /// <param name="faceNameRef">No documentation.</param>	
        /// <param name="fontOut">No documentation.</param>	
        /// <returns><p>If the function succeeds, the return value is <see cref="SharpDX.Result.Ok"/>. If the function fails, the return value can be one of the following: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.</p></returns>	
        /// <remarks>	
        /// <p>The compiler setting also determines the function version. If Unicode is defined, the function call resolves to D3DXCreateFontW. Otherwise, the function call resolves to D3DXCreateFontA because ANSI strings are being used.</p><p>If you want more information about font parameters, see The Logical Font.</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10CreateFontW']/*"/>	
        /// <msdn-id>bb172664</msdn-id>	
        /// <unmanaged>HRESULT D3DX10CreateFontW([In] ID3D10Device* pDevice,[In] int Height,[In] unsigned int Width,[In] unsigned int Weight,[In] unsigned int MipLevels,[In] BOOL Italic,[In] unsigned int CharSet,[In] unsigned int OutputPrecision,[In] unsigned int Quality,[In] unsigned int PitchAndFamily,[In] const wchar_t* pFaceName,[Out, Fast] ID3DX10Font** ppFont)</unmanaged>	
        /// <unmanaged-short>D3DX10CreateFontW</unmanaged-short>	
        public static void CreateFont(SharpDX.Direct3D10.Device deviceRef, int height, int width, int weight, int mipLevels, SharpDX.Mathematics.Interop.RawBool italic, int charSet, int outputPrecision, int quality, int pitchAndFamily, string faceNameRef, SharpDX.Direct3D10.Font fontOut) {
            unsafe {
                IntPtr fontOut_ = IntPtr.Zero;
                SharpDX.Result __result__;
                fixed (char* faceNameRef_ = faceNameRef)
                    __result__= 
    				D3DX10CreateFontW_((void*)((deviceRef == null)?IntPtr.Zero:deviceRef.NativePointer), height, width, weight, mipLevels, italic, charSet, outputPrecision, quality, pitchAndFamily, (void*)faceNameRef_, &fontOut_);		
                    ((SharpDX.Direct3D10.Font)fontOut).NativePointer = fontOut_;
                    __result__.CheckError();
                }
            }
            [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10CreateFontW", CallingConvention = CallingConvention.StdCall)]
            private unsafe static extern int D3DX10CreateFontW_(void* arg0,int arg1,int arg2,int arg3,int arg4,SharpDX.Mathematics.Interop.RawBool arg5,int arg6,int arg7,int arg8,int arg9,void* arg10,void* arg11);
            
            /// <summary>	
            /// <p>Creates a font object.</p><p><strong>Note</strong>??Instead of using this function, we recommend that you use DirectWrite and the DirectXTK library, <strong>SpriteFont</strong> class. </p>	
            /// </summary>	
            /// <param name="deviceRef">No documentation.</param>	
            /// <param name="descRef">No documentation.</param>	
            /// <param name="fontOut">No documentation.</param>	
            /// <returns><p>The return value is one of the values listed in Direct3D 10 Return Codes.</p></returns>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10CreateFontIndirectW']/*"/>	
            /// <msdn-id>bb172665</msdn-id>	
            /// <unmanaged>HRESULT D3DX10CreateFontIndirectW([In] ID3D10Device* pDevice,[In] const D3DX10_FONT_DESCW* pDesc,[Out, Fast] ID3DX10Font** ppFont)</unmanaged>	
            /// <unmanaged-short>D3DX10CreateFontIndirectW</unmanaged-short>	
            public static void CreateFontIndirect(SharpDX.Direct3D10.Device deviceRef, ref SharpDX.Direct3D10.FontDescription descRef, SharpDX.Direct3D10.Font fontOut) {
                unsafe {
                    var descRef_ = new SharpDX.Direct3D10.FontDescription.__Native();
                    descRef.__MarshalTo(ref descRef_);
                    IntPtr fontOut_ = IntPtr.Zero;
                    SharpDX.Result __result__;
                    __result__= 
    				D3DX10CreateFontIndirectW_((void*)((deviceRef == null)?IntPtr.Zero:deviceRef.NativePointer), &descRef_, &fontOut_);		
                    descRef.__MarshalFree(ref descRef_);
                    ((SharpDX.Direct3D10.Font)fontOut).NativePointer = fontOut_;
                    __result__.CheckError();
                }
            }
            [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10CreateFontIndirectW", CallingConvention = CallingConvention.StdCall)]
            private unsafe static extern int D3DX10CreateFontIndirectW_(void* arg0,void* arg1,void* arg2);
            
            /// <summary>	
            /// <p>Create a sprite for drawing a 2D texture.</p><p><strong>Note</strong>??Instead of using this function, we recommend that you use Direct2D and the DirectXTK library, <strong>SpriteBatch</strong> class. </p>	
            /// </summary>	
            /// <param name="deviceRef">No documentation.</param>	
            /// <param name="cDeviceBufferSize">No documentation.</param>	
            /// <param name="spriteOut">No documentation.</param>	
            /// <returns><p>If the function succeeds, the return value is <see cref="SharpDX.Result.Ok"/>. If the function fails, the return value can be one of the following: D3DERR_INVALIDCALL, E_OUTOFMEMORY.</p></returns>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10CreateSprite']/*"/>	
            /// <msdn-id>bb172670</msdn-id>	
            /// <unmanaged>HRESULT D3DX10CreateSprite([In] ID3D10Device* pDevice,[In] unsigned int cDeviceBufferSize,[Out, Fast] ID3DX10Sprite** ppSprite)</unmanaged>	
            /// <unmanaged-short>D3DX10CreateSprite</unmanaged-short>	
            public static void CreateSprite(SharpDX.Direct3D10.Device deviceRef, int cDeviceBufferSize, SharpDX.Direct3D10.Sprite spriteOut) {
                unsafe {
                    IntPtr spriteOut_ = IntPtr.Zero;
                    SharpDX.Result __result__;
                    __result__= 
    				D3DX10CreateSprite_((void*)((deviceRef == null)?IntPtr.Zero:deviceRef.NativePointer), cDeviceBufferSize, &spriteOut_);		
                    ((SharpDX.Direct3D10.Sprite)spriteOut).NativePointer = spriteOut_;
                    __result__.CheckError();
                }
            }
            [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10CreateSprite", CallingConvention = CallingConvention.StdCall)]
            private unsafe static extern int D3DX10CreateSprite_(void* arg0,int arg1,void* arg2);
            
            /// <summary>	
            /// <p>Create the best Direct3D device and a swap chain.</p>	
            /// </summary>	
            /// <param name="adapterRef"><dd>  <p>Pointer to a <strong><see cref="SharpDX.DXGI.Adapter"/></strong>.</p> </dd></param>	
            /// <param name="driverType"><dd>  <p>The type of driver for the device. See <strong><see cref="SharpDX.Direct3D10.DriverType"/></strong>.</p> </dd></param>	
            /// <param name="software"><dd>  <p>A handle to the DLL that implements a software rasterizer. Must be <strong><c>null</c></strong> if DriverType is non-software. The HMODULE of a DLL can be obtained with LoadLibrary, LoadLibraryEx, or GetModuleHandle.</p> </dd></param>	
            /// <param name="flags"><dd>  <p>Optional. Device creation flags (see <strong><see cref="SharpDX.Direct3D10.DeviceCreationFlags"/></strong>) that enable API layers. These flags can be bitwise OR'd together.</p> </dd></param>	
            /// <param name="swapChainDescRef"><dd>  <p>Description of the swap chain. See <strong><see cref="SharpDX.DXGI.SwapChainDescription"/></strong>.</p> </dd></param>	
            /// <param name="swapChainOut"><dd>  <p>Address of a reference to an <strong><see cref="SharpDX.DXGI.SwapChain"/></strong>.</p> </dd></param>	
            /// <param name="deviceOut"><dd>  <p>Address of a reference to an <strong><see cref="SharpDX.Direct3D10.Device"/> Interface</strong> that will receive the newly created device.</p> </dd></param>	
            /// <returns><p>This method returns one of the following Direct3D 10 Return Codes.</p></returns>	
            /// <remarks>	
            /// <p>To create the best device, this method implements more than one device creation option. First, the method attempts to create a 10.1 device (and swap chain). If that fails, the method attempts to create a 10.0 device. If that fails, the method will fail. If your application needs to create only a 10.1 device, or a 10.0 device only, use these APIs instead:</p><ul> <li>Use <strong><see cref="SharpDX.Direct3D10.D3D10.CreateDeviceAndSwapChain"/></strong> to create a Direct3D 10.0 (only) device and swap chain.</li> <li>Use <strong><see cref="SharpDX.Direct3D10.D3D10.CreateDeviceAndSwapChain1"/></strong> to create a Direct3D 10.1 (only) device and swap chain.</li> </ul><p>This method requires Windows Vista Service Pack 1.</p>	
            /// </remarks>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10CreateDeviceAndSwapChain']/*"/>	
            /// <msdn-id>bb694538</msdn-id>	
            /// <unmanaged>HRESULT D3DX10CreateDeviceAndSwapChain([In] IDXGIAdapter* pAdapter,[In] D3D10_DRIVER_TYPE DriverType,[In] HINSTANCE Software,[In] unsigned int Flags,[In] DXGI_SWAP_CHAIN_DESC* pSwapChainDesc,[In] IDXGISwapChain** ppSwapChain,[In] ID3D10Device** ppDevice)</unmanaged>	
            /// <unmanaged-short>D3DX10CreateDeviceAndSwapChain</unmanaged-short>	
            public static void CreateDeviceAndSwapChain(SharpDX.DXGI.Adapter adapterRef, SharpDX.Direct3D10.DriverType driverType, System.IntPtr software, int flags, ref SharpDX.DXGI.SwapChainDescription swapChainDescRef, out SharpDX.DXGI.SwapChain swapChainOut, out SharpDX.Direct3D10.Device deviceOut) {
                unsafe {
                    IntPtr swapChainOut_ = IntPtr.Zero;
                    IntPtr deviceOut_ = IntPtr.Zero;
                    SharpDX.Result __result__;
                    fixed (void* swapChainDescRef_ = &swapChainDescRef)
                        __result__= 
        				D3DX10CreateDeviceAndSwapChain_((void*)((adapterRef == null)?IntPtr.Zero:adapterRef.NativePointer), unchecked((int)driverType), (void*)software, flags, swapChainDescRef_, &swapChainOut_, &deviceOut_);		
                    swapChainOut= (swapChainOut_ == IntPtr.Zero)?null:new SharpDX.DXGI.SwapChain(swapChainOut_);	
                    deviceOut= (deviceOut_ == IntPtr.Zero)?null:new SharpDX.Direct3D10.Device(deviceOut_);	
                    __result__.CheckError();
                }
            }
            [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10CreateDeviceAndSwapChain", CallingConvention = CallingConvention.StdCall)]
            private unsafe static extern int D3DX10CreateDeviceAndSwapChain_(void* arg0,int arg1,void* arg2,int arg3,void* arg4,void* arg5,void* arg6);
            
            /// <summary>	
            /// <p>Verify that the version of D3DX you compiled with is the version that you are running.</p>	
            /// </summary>	
            /// <param name="d3DSdkVersion"><dd>  <p>Use <see cref="SharpDX.Direct3D10.D3D10.SdkVersion"/>. See remarks.</p> </dd></param>	
            /// <param name="d3DX10SdkVersion"><dd>  <p>Use D3DX10_SDK_VERSION. See remarks.</p> </dd></param>	
            /// <returns><p>If the version doesn't match, the function will return <see cref="SharpDX.Result.False"/> (a number less than or equal to 0, the number itself has no meaning).</p></returns>	
            /// <remarks>	
            /// <p>Use this function during the initialization of your application.</p><pre> <see cref="SharpDX.Result"/> hr; if( FAILED( <see cref="SharpDX.Direct3D10.D3DX10.CheckVersion"/>(<see cref="SharpDX.Direct3D10.D3D10.SdkVersion"/>, D3DX10_SDK_VERSION) ) ) return E_FAIL;	
            /// </pre>	
            /// </remarks>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10CheckVersion']/*"/>	
            /// <msdn-id>bb172639</msdn-id>	
            /// <unmanaged>HRESULT D3DX10CheckVersion([In] unsigned int D3DSdkVersion,[In] unsigned int D3DX10SdkVersion)</unmanaged>	
            /// <unmanaged-short>D3DX10CheckVersion</unmanaged-short>	
            public static void CheckVersion(int d3DSdkVersion, int d3DX10SdkVersion) {
                unsafe {
                    SharpDX.Result __result__;
                    __result__= 
    				D3DX10CheckVersion_(d3DSdkVersion, d3DX10SdkVersion);		
                    __result__.CheckError();
                }
            }
            [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10CheckVersion", CallingConvention = CallingConvention.StdCall)]
            private unsafe static extern int D3DX10CheckVersion_(int arg0,int arg1);
            
            /// <summary>	
            /// <p>Create the best Direct3D 10 device that represents the display adapter.  If a Direct3D 10.1-compatible device can be created, it will be possible to acquire an <strong><see cref="SharpDX.Direct3D10.Device1"/> Interface</strong> reference from the returned device interface reference.</p>	
            /// </summary>	
            /// <param name="adapterRef">No documentation.</param>	
            /// <param name="driverType">No documentation.</param>	
            /// <param name="software">No documentation.</param>	
            /// <param name="flags">No documentation.</param>	
            /// <param name="deviceOut">No documentation.</param>	
            /// <returns><p>This function returns one of the following Direct3D 10 Return Codes.</p></returns>	
            /// <remarks>	
            /// <p>This function attempts to create the best device for the hardware. First, the function attempts to create a 10.1 device. If a 10.1 device cannot be created, the function attempts to create a 10.0 device. If neither device is successfully created, the function returns E_FAIL.</p><p>If your application needs to create only a 10.1 device, or a 10.0 device only, use the following functions instead:</p><ul> <li>Use the <strong><see cref="SharpDX.Direct3D10.D3D10.CreateDevice"/></strong> function to create a Direct3D 10.0 device only.</li> <li>Use the <strong><see cref="SharpDX.Direct3D10.D3D10.CreateDevice1"/></strong> function to create a Direct3D 10.1 device only.</li> <li>Use the <strong><see cref="SharpDX.Direct3D10.D3DX10.GetFeatureLevel1"/></strong> function to get an <strong><see cref="SharpDX.Direct3D10.Device1"/></strong> interface reference from an <strong><see cref="SharpDX.Direct3D10.Device"/></strong> interface reference.</li> </ul><p>A Direct3D 10.1 device can only be created on computers running Windows Vista Service Pack 1 or later, and with Direct3D 10.1-compatible hardware installed. However, it is legal to call this function on computers running any version of Windows that has the D3DX10 DLL installed.</p>	
            /// </remarks>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10CreateDevice']/*"/>	
            /// <msdn-id>bb694537</msdn-id>	
            /// <unmanaged>HRESULT D3DX10CreateDevice([In] IDXGIAdapter* pAdapter,[In] D3D10_DRIVER_TYPE DriverType,[In] HINSTANCE Software,[In] unsigned int Flags,[In] ID3D10Device** ppDevice)</unmanaged>	
            /// <unmanaged-short>D3DX10CreateDevice</unmanaged-short>	
            public static void CreateDevice(SharpDX.DXGI.Adapter adapterRef, SharpDX.Direct3D10.DriverType driverType, System.IntPtr software, int flags, out SharpDX.Direct3D10.Device deviceOut) {
                unsafe {
                    IntPtr deviceOut_ = IntPtr.Zero;
                    SharpDX.Result __result__;
                    __result__= 
    				D3DX10CreateDevice_((void*)((adapterRef == null)?IntPtr.Zero:adapterRef.NativePointer), unchecked((int)driverType), (void*)software, flags, &deviceOut_);		
                    deviceOut= (deviceOut_ == IntPtr.Zero)?null:new SharpDX.Direct3D10.Device(deviceOut_);	
                    __result__.CheckError();
                }
            }
            [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10CreateDevice", CallingConvention = CallingConvention.StdCall)]
            private unsafe static extern int D3DX10CreateDevice_(void* arg0,int arg1,void* arg2,int arg3,void* arg4);
            
            /// <summary>	
            /// <p>Get a Direct3D 10.1 device interface reference from a Direct3D 10.0 interface reference.</p>	
            /// </summary>	
            /// <param name="deviceRef"><dd>  <p>Pointer to the Direct3D 10.0 device (see the <strong><see cref="SharpDX.Direct3D10.Device"/></strong> interface).</p> </dd></param>	
            /// <param name="device1Out"><dd>  <p>Pointer to the Direct3D 10.1 device (see the <strong><see cref="SharpDX.Direct3D10.Device1"/></strong> interface).</p> </dd></param>	
            /// <returns><p>This function returns one of the following Direct3D 10 Return Codes.  If a Direct3D 10.1 device interface can be acquired, this function succeeds and passes a reference to the 10.1 interface using the <em>ppDevice</em> parameter. If a Direct3D 10.1 device interface cannot be acquired, this function returns E_FAIL, and will not return anything for the <em>ppDevice</em> parameter.</p></returns>	
            /// <remarks>	
            /// <p>For this function to succeed, you must have acquired the supplied <strong><see cref="SharpDX.Direct3D10.Device"/></strong> reference using a call to the <strong><see cref="SharpDX.Direct3D10.D3DX10.CreateDevice"/></strong> function, the <strong><see cref="SharpDX.Direct3D10.D3DX10.CreateDeviceAndSwapChain"/></strong> function, the <strong><see cref="SharpDX.Direct3D10.D3D10.CreateDevice1"/></strong> function, or the <strong><see cref="SharpDX.Direct3D10.D3D10.CreateDeviceAndSwapChain1"/></strong> function.</p><p>You can only create a Direct3D 10.1 device on computers running Windows Vista Service Pack 1 or later, and with Direct3D 10.1-compatible hardware installed. This function will return E_FAIL on any computer not meeting these requirements.	
            /// However, you can call this function on any version of Windows that has the D3DX10 DLL installed.</p>	
            /// </remarks>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10GetFeatureLevel1']/*"/>	
            /// <msdn-id>bb694539</msdn-id>	
            /// <unmanaged>HRESULT D3DX10GetFeatureLevel1([In] ID3D10Device* pDevice,[In] ID3D10Device1** ppDevice1)</unmanaged>	
            /// <unmanaged-short>D3DX10GetFeatureLevel1</unmanaged-short>	
            public static void GetFeatureLevel1(SharpDX.Direct3D10.Device deviceRef, out SharpDX.Direct3D10.Device1 device1Out) {
                unsafe {
                    IntPtr device1Out_ = IntPtr.Zero;
                    SharpDX.Result __result__;
                    __result__= 
    				D3DX10GetFeatureLevel1_((void*)((deviceRef == null)?IntPtr.Zero:deviceRef.NativePointer), &device1Out_);		
                    device1Out= (device1Out_ == IntPtr.Zero)?null:new SharpDX.Direct3D10.Device1(device1Out_);	
                    __result__.CheckError();
                }
            }
            [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10GetFeatureLevel1", CallingConvention = CallingConvention.StdCall)]
            private unsafe static extern int D3DX10GetFeatureLevel1_(void* arg0,void* arg1);
            
            /// <summary>	
            /// <p>Create a shader-resource view from a file.</p>	
            /// </summary>	
            /// <param name="deviceRef"><dd>  <p>A reference to the device (see <strong><see cref="SharpDX.Direct3D10.Device"/> Interface</strong>) that will use the resource.</p> </dd></param>	
            /// <param name="srcFileRef"><dd>  <p>Name of the file that contains the shader-resource view. If the compiler settings require Unicode, the data type LPCTSTR resolves to LPCWSTR. Otherwise, the data type resolves to LPCSTR.</p> </dd></param>	
            /// <param name="loadInfoRef"><dd>  <p>Optional. Identifies the characteristics of a texture (see <strong><see cref="SharpDX.Direct3D10.ImageLoadInformation"/></strong>) when the data processor is created; set this to <strong><c>null</c></strong> to read the characteristics of a texture when the texture is loaded.</p> </dd></param>	
            /// <param name="pumpRef"><dd>  <p>Pointer to a thread-pump interface (see <strong><see cref="System.IntPtr"/> Interface</strong>). If <strong><c>null</c></strong> is specified, this function will behave synchronously and will not return until it is finished.</p> </dd></param>	
            /// <param name="shaderResourceViewOut"><dd>  <p>Address of a reference to the shader-resource view (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceView"/> Interface</strong>).</p> </dd></param>	
            /// <param name="hResultRef"><dd>  <p>A reference to the return value. May be <strong><c>null</c></strong>. If <em>pPump</em> is not <strong><c>null</c></strong>, then <em>pHResult</em> must be a valid memory location until the asynchronous execution completes.</p> </dd></param>	
            /// <returns><p>The return value is one of the values listed in Direct3D 10 Return Codes.</p></returns>	
            /// <remarks>	
            /// <p>For a list of supported image formats, see <strong><see cref="SharpDX.Direct3D10.ImageFileFormat"/></strong>.</p>	
            /// </remarks>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10CreateShaderResourceViewFromFileW']/*"/>	
            /// <msdn-id>bb172667</msdn-id>	
            /// <unmanaged>HRESULT D3DX10CreateShaderResourceViewFromFileW([In] ID3D10Device* pDevice,[In] const wchar_t* pSrcFile,[In, Optional] D3DX10_IMAGE_LOAD_INFO* pLoadInfo,[In] ID3DX10ThreadPump* pPump,[In] ID3D10ShaderResourceView** ppShaderResourceView,[Out] HRESULT* pHResult)</unmanaged>	
            /// <unmanaged-short>D3DX10CreateShaderResourceViewFromFileW</unmanaged-short>	
            public static void CreateShaderResourceViewFromFile(SharpDX.Direct3D10.Device deviceRef, string srcFileRef, SharpDX.Direct3D10.ImageLoadInformation? loadInfoRef, System.IntPtr pumpRef, out SharpDX.Direct3D10.ShaderResourceView shaderResourceViewOut, out SharpDX.Result hResultRef) {
                unsafe {
                    SharpDX.Direct3D10.ImageLoadInformation loadInfoRef_;
                    if (loadInfoRef.HasValue)
                        loadInfoRef_ = loadInfoRef.Value;				
                    IntPtr shaderResourceViewOut_ = IntPtr.Zero;
                    hResultRef = new SharpDX.Result();
                    SharpDX.Result __result__;
                    fixed (char* srcFileRef_ = srcFileRef)
                        fixed (void* hResultRef_ = &hResultRef)
                            __result__= 
            				D3DX10CreateShaderResourceViewFromFileW_((void*)((deviceRef == null)?IntPtr.Zero:deviceRef.NativePointer), (void*)srcFileRef_, (loadInfoRef.HasValue)?&loadInfoRef_:(void*)IntPtr.Zero, (void*)pumpRef, &shaderResourceViewOut_, hResultRef_);		
                        shaderResourceViewOut= (shaderResourceViewOut_ == IntPtr.Zero)?null:new SharpDX.Direct3D10.ShaderResourceView(shaderResourceViewOut_);	
                        __result__.CheckError();
                    }
                }
                [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10CreateShaderResourceViewFromFileW", CallingConvention = CallingConvention.StdCall)]
                private unsafe static extern int D3DX10CreateShaderResourceViewFromFileW_(void* arg0,void* arg1,void* arg2,void* arg3,void* arg4,void* arg5);
                
                /// <summary>	
                /// <p>Save a texture to a file.</p>	
                /// </summary>	
                /// <param name="srcTextureRef"><dd>  <p>Pointer to the texture to be saved. See <strong><see cref="SharpDX.Direct3D10.Resource"/> Interface</strong>.</p> </dd></param>	
                /// <param name="destFormat"><dd>  <p>The format the texture will be saved as (see <strong><see cref="SharpDX.Direct3D10.ImageFileFormat"/></strong>). <see cref="SharpDX.Direct3D10.ImageFileFormat.Dds"/> is the preferred format since it is the only option that supports all the formats in <strong><see cref="SharpDX.DXGI.Format"/></strong>.</p> </dd></param>	
                /// <param name="destFileRef"><dd>  <p>Name of the destination output file where the texture will be saved.  If the compiler settings require Unicode, the data type LPCTSTR resolves to LPCWSTR. Otherwise, the data type resolves to LPCSTR.</p> </dd></param>	
                /// <returns><p>The return value is one of the values listed in Direct3D 10 Return Codes; use the return value to see if the <em>DestFormat</em> is supported.</p></returns>	
                /// <remarks>	
                /// <p><strong><see cref="SharpDX.Direct3D10.D3DX10.SaveTextureToFile"/></strong> writes out the extra <strong>DDS_HEADER_DXT10</strong> structure for the input texture only if necessary (for example, because the input texture is in standard RGB (sRGB) format). If <strong><see cref="SharpDX.Direct3D10.D3DX10.SaveTextureToFile"/></strong> writes out the <strong>DDS_HEADER_DXT10</strong> structure, it sets the <strong>dwFourCC</strong> member of the <strong>DDS_PIXELFORMAT</strong> structure for the texture to <strong>DX10</strong> to indicate the prescense of the <strong>DDS_HEADER_DXT10</strong> extended header.</p>	
                /// </remarks>	
                /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10SaveTextureToFileW']/*"/>	
                /// <msdn-id>bb172684</msdn-id>	
                /// <unmanaged>HRESULT D3DX10SaveTextureToFileW([In] ID3D10Resource* pSrcTexture,[In] D3DX10_IMAGE_FILE_FORMAT DestFormat,[In] const wchar_t* pDestFile)</unmanaged>	
                /// <unmanaged-short>D3DX10SaveTextureToFileW</unmanaged-short>	
                public static void SaveTextureToFile(SharpDX.Direct3D10.Resource srcTextureRef, SharpDX.Direct3D10.ImageFileFormat destFormat, string destFileRef) {
                    unsafe {
                        SharpDX.Result __result__;
                        fixed (char* destFileRef_ = destFileRef)
                            __result__= 
            				D3DX10SaveTextureToFileW_((void*)((srcTextureRef == null)?IntPtr.Zero:srcTextureRef.NativePointer), unchecked((int)destFormat), (void*)destFileRef_);		
                            __result__.CheckError();
                        }
                    }
                    [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10SaveTextureToFileW", CallingConvention = CallingConvention.StdCall)]
                    private unsafe static extern int D3DX10SaveTextureToFileW_(void* arg0,int arg1,void* arg2);
                    
                    /// <summary>	
                    /// <p>Get information about an image already loaded into memory.</p>	
                    /// </summary>	
                    /// <param name="srcDataRef"><dd>  <p>Pointer to the image in memory.</p> </dd></param>	
                    /// <param name="srcDataSize"><dd>  <p>Size of the image in memory, in bytes.</p> </dd></param>	
                    /// <param name="pumpRef"><dd>  <p>Optional thread pump that can be used to load the info asynchronously. Can be <strong><c>null</c></strong>. See <strong><see cref="System.IntPtr"/></strong>.</p> </dd></param>	
                    /// <param name="srcInfoRef"><dd>  <p>Information about the image in memory.</p> </dd></param>	
                    /// <param name="hResultRef"><dd>  <p>A reference to the return value. May be <strong><c>null</c></strong>. If <em>pPump</em> is not <strong><c>null</c></strong>, then <em>pHResult</em> must be a valid memory location until the asynchronous execution completes.</p> </dd></param>	
                    /// <returns><p>The return value is one of the values listed in Direct3D 10 Return Codes.</p></returns>	
                    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10GetImageInfoFromMemory']/*"/>	
                    /// <msdn-id>bb172678</msdn-id>	
                    /// <unmanaged>HRESULT D3DX10GetImageInfoFromMemory([In] const void* pSrcData,[In] SIZE_T SrcDataSize,[In] ID3DX10ThreadPump* pPump,[In] D3DX10_IMAGE_INFO* pSrcInfo,[Out] HRESULT* pHResult)</unmanaged>	
                    /// <unmanaged-short>D3DX10GetImageInfoFromMemory</unmanaged-short>	
                    public static void GetImageInfoFromMemory(System.IntPtr srcDataRef, SharpDX.PointerSize srcDataSize, System.IntPtr pumpRef, ref SharpDX.Direct3D10.ImageInformation srcInfoRef, out SharpDX.Result hResultRef) {
                        unsafe {
                            hResultRef = new SharpDX.Result();
                            SharpDX.Result __result__;
                            fixed (void* srcInfoRef_ = &srcInfoRef)
                                fixed (void* hResultRef_ = &hResultRef)
                                    __result__= 
                    				D3DX10GetImageInfoFromMemory_((void*)srcDataRef, (void*)srcDataSize, (void*)pumpRef, srcInfoRef_, hResultRef_);		
                            __result__.CheckError();
                        }
                    }
                    [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10GetImageInfoFromMemory", CallingConvention = CallingConvention.StdCall)]
                    private unsafe static extern int D3DX10GetImageInfoFromMemory_(void* arg0,void* arg1,void* arg2,void* arg3,void* arg4);
                    
                    /// <summary>	
                    /// <p>Retrieves information about a given image in a resource.</p>	
                    /// </summary>	
                    /// <param name="hSrcModule"><dd>  <p>Module where the resource is loaded. Set this parameter to <strong><c>null</c></strong> to specify the module associated with the image that the operating system used to create the current process.</p> </dd></param>	
                    /// <param name="srcResourceRef"><dd>  <p>Pointer to a string that specifies the filename. If the compiler settings require Unicode, the data type LPCTSTR resolves to LPCWSTR. Otherwise, the data type resolves to LPCSTR. See Remarks.</p> </dd></param>	
                    /// <param name="pumpRef"><dd>  <p>Optional thread pump that can be used to load the info asynchronously. Can be <strong><c>null</c></strong>. See <strong><see cref="System.IntPtr"/></strong>.</p> </dd></param>	
                    /// <param name="srcInfoRef"><dd>  <p>Pointer to a <see cref="SharpDX.Direct3D10.ImageInformation"/> structure to be filled with the description of the data in the source file.</p> </dd></param>	
                    /// <param name="hResultRef"><dd>  <p>A reference to the return value. May be <strong><c>null</c></strong>. If <em>pPump</em> is not <strong><c>null</c></strong>, then <em>pHResult</em> must be a valid memory location until the asynchronous execution completes.</p> </dd></param>	
                    /// <returns><p>If the function succeeds, the return value is D3D_OK. If the function fails, the return value can be the following: D3DERR_INVALIDCALL</p></returns>	
                    /// <remarks>	
                    /// <p>The compiler setting also determines the function version. If Unicode is defined, the function call resolves to <see cref="SharpDX.Direct3D10.D3DX10.GetImageInfoFromResource"/>. Otherwise, the function call resolves to D3DX10GetImageInfoFromResourceA because ANSI strings are being used.</p>	
                    /// </remarks>	
                    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10GetImageInfoFromResourceW']/*"/>	
                    /// <msdn-id>bb172679</msdn-id>	
                    /// <unmanaged>HRESULT D3DX10GetImageInfoFromResourceW([In] HINSTANCE hSrcModule,[In] const wchar_t* pSrcResource,[In] ID3DX10ThreadPump* pPump,[In] D3DX10_IMAGE_INFO* pSrcInfo,[Out] HRESULT* pHResult)</unmanaged>	
                    /// <unmanaged-short>D3DX10GetImageInfoFromResourceW</unmanaged-short>	
                    public static void GetImageInfoFromResource(System.IntPtr hSrcModule, string srcResourceRef, System.IntPtr pumpRef, ref SharpDX.Direct3D10.ImageInformation srcInfoRef, out SharpDX.Result hResultRef) {
                        unsafe {
                            hResultRef = new SharpDX.Result();
                            SharpDX.Result __result__;
                            fixed (char* srcResourceRef_ = srcResourceRef)
                                fixed (void* srcInfoRef_ = &srcInfoRef)
                                    fixed (void* hResultRef_ = &hResultRef)
                                        __result__= 
                        				D3DX10GetImageInfoFromResourceW_((void*)hSrcModule, (void*)srcResourceRef_, (void*)pumpRef, srcInfoRef_, hResultRef_);		
                                __result__.CheckError();
                            }
                        }
                        [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10GetImageInfoFromResourceW", CallingConvention = CallingConvention.StdCall)]
                        private unsafe static extern int D3DX10GetImageInfoFromResourceW_(void* arg0,void* arg1,void* arg2,void* arg3,void* arg4);
                        
                        /// <summary>	
                        /// <p>Create a texture resource from a file.</p>	
                        /// </summary>	
                        /// <param name="deviceRef"><dd>  <p>A reference to the device (see <strong><see cref="SharpDX.Direct3D10.Device"/> Interface</strong>) that will use the resource.</p> </dd></param>	
                        /// <param name="srcFileRef"><dd>  <p>The name of the file containing the resource. If the compiler settings require Unicode, the data type LPCTSTR resolves to LPCWSTR. Otherwise,  the data type resolves to LPCSTR. See <strong><see cref="SharpDX.Direct3D10.ImageFileFormat"/></strong> enumeration for a list of the supported image file formats.</p> </dd></param>	
                        /// <param name="loadInfoRef"><dd>  <p>Optional. Identifies the characteristics of a texture (see <strong><see cref="SharpDX.Direct3D10.ImageLoadInformation"/></strong>) when the data processor is created;  set this to <strong><c>null</c></strong> to read the characteristics of a texture when the texture is loaded.</p> </dd></param>	
                        /// <param name="pumpRef"><dd>  <p>A reference to a thread pump interface (see <strong><see cref="System.IntPtr"/> Interface</strong>). If <strong><c>null</c></strong> is specified, this function will behave synchronously  and will not return until it is finished.</p> </dd></param>	
                        /// <param name="textureOut"><dd>  <p>The address of a reference to the texture resource (see <strong><see cref="SharpDX.Direct3D10.Resource"/> Interface</strong>).</p> </dd></param>	
                        /// <param name="hResultRef"><dd>  <p>A reference to the return value. May be <strong><c>null</c></strong>. If <em>pPump</em> is not <strong><c>null</c></strong>, then <em>pHResult</em> must be a valid  memory location until the asynchronous execution completes.</p> </dd></param>	
                        /// <returns><p>The return value is one of the values listed in Direct3D 10 Return Codes.</p></returns>	
                        /// <remarks>	
                        /// <p>For a list of supported image formats see <strong><see cref="SharpDX.Direct3D10.ImageFileFormat"/></strong>.</p>	
                        /// </remarks>	
                        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10CreateTextureFromFileW']/*"/>	
                        /// <msdn-id>bb172671</msdn-id>	
                        /// <unmanaged>HRESULT D3DX10CreateTextureFromFileW([In] ID3D10Device* pDevice,[In] const wchar_t* pSrcFile,[In, Optional] D3DX10_IMAGE_LOAD_INFO* pLoadInfo,[In] ID3DX10ThreadPump* pPump,[Out] void** ppTexture,[Out] HRESULT* pHResult)</unmanaged>	
                        /// <unmanaged-short>D3DX10CreateTextureFromFileW</unmanaged-short>	
                        internal static void CreateTextureFromFile(SharpDX.Direct3D10.Device deviceRef, string srcFileRef, SharpDX.Direct3D10.ImageLoadInformation? loadInfoRef, System.IntPtr pumpRef, out System.IntPtr textureOut, out SharpDX.Result hResultRef) {
                            unsafe {
                                SharpDX.Direct3D10.ImageLoadInformation loadInfoRef_;
                                if (loadInfoRef.HasValue)
                                    loadInfoRef_ = loadInfoRef.Value;				
                                hResultRef = new SharpDX.Result();
                                SharpDX.Result __result__;
                                fixed (char* srcFileRef_ = srcFileRef)
                                    fixed (void* textureOut_ = &textureOut)
                                        fixed (void* hResultRef_ = &hResultRef)
                                            __result__= 
                            				D3DX10CreateTextureFromFileW_((void*)((deviceRef == null)?IntPtr.Zero:deviceRef.NativePointer), (void*)srcFileRef_, (loadInfoRef.HasValue)?&loadInfoRef_:(void*)IntPtr.Zero, (void*)pumpRef, textureOut_, hResultRef_);		
                                    __result__.CheckError();
                                }
                            }
                            [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10CreateTextureFromFileW", CallingConvention = CallingConvention.StdCall)]
                            private unsafe static extern int D3DX10CreateTextureFromFileW_(void* arg0,void* arg1,void* arg2,void* arg3,void* arg4,void* arg5);
                            
                            /// <summary>	
                            /// <p>Save a texture to memory.</p>	
                            /// </summary>	
                            /// <param name="srcTextureRef"><dd>  <p>Pointer to the texture to be saved. See <strong><see cref="SharpDX.Direct3D10.Resource"/> Interface</strong>.</p> </dd></param>	
                            /// <param name="destFormat"><dd>  <p>The format the texture will be saved as. See <strong><see cref="SharpDX.Direct3D10.ImageFileFormat"/></strong>.</p> </dd></param>	
                            /// <param name="destBufOut"><dd>  <p>Address of a reference to the memory containing the saved texture. See <strong><see cref="SharpDX.Direct3D.Blob"/> Interface</strong>.</p> </dd></param>	
                            /// <param name="flags"><dd>  <p>Optional.</p> </dd></param>	
                            /// <returns><p>The return value is one of the values listed in Direct3D 10 Return Codes.</p></returns>	
                            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10SaveTextureToMemory']/*"/>	
                            /// <msdn-id>bb172685</msdn-id>	
                            /// <unmanaged>HRESULT D3DX10SaveTextureToMemory([In] ID3D10Resource* pSrcTexture,[In] D3DX10_IMAGE_FILE_FORMAT DestFormat,[Out] ID3D10Blob** ppDestBuf,[In] unsigned int Flags)</unmanaged>	
                            /// <unmanaged-short>D3DX10SaveTextureToMemory</unmanaged-short>	
                            internal static void SaveTextureToMemory(SharpDX.Direct3D10.Resource srcTextureRef, SharpDX.Direct3D10.ImageFileFormat destFormat, out SharpDX.Direct3D.Blob destBufOut, int flags) {
                                unsafe {
                                    IntPtr destBufOut_ = IntPtr.Zero;
                                    SharpDX.Result __result__;
                                    __result__= 
                    				D3DX10SaveTextureToMemory_((void*)((srcTextureRef == null)?IntPtr.Zero:srcTextureRef.NativePointer), unchecked((int)destFormat), &destBufOut_, flags);		
                                    destBufOut= (destBufOut_ == IntPtr.Zero)?null:new SharpDX.Direct3D.Blob(destBufOut_);	
                                    __result__.CheckError();
                                }
                            }
                            [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10SaveTextureToMemory", CallingConvention = CallingConvention.StdCall)]
                            private unsafe static extern int D3DX10SaveTextureToMemory_(void* arg0,int arg1,void* arg2,int arg3);
                            
                            /// <summary>	
                            /// <p>Create a shader-resource view from a resource.</p>	
                            /// </summary>	
                            /// <param name="deviceRef"><dd>  <p>A reference to the device (see <strong><see cref="SharpDX.Direct3D10.Device"/> Interface</strong>) that will use the resource.</p> </dd></param>	
                            /// <param name="hSrcModule"><dd>  <p>Handle to the resource module containing the shader-resource view. HMODULE can be obtained with GetModuleHandle Function.</p> </dd></param>	
                            /// <param name="srcResourceRef"><dd>  <p>Name of the shader resource view in hSrcModule. If the compiler settings require Unicode, the data type LPCTSTR resolves to LPCWSTR. Otherwise, the data type resolves to LPCSTR.</p> </dd></param>	
                            /// <param name="loadInfoRef"><dd>  <p>Optional. Identifies the characteristics of a texture (see <strong><see cref="SharpDX.Direct3D10.ImageLoadInformation"/></strong>) when the data processor is created; set this to <strong><c>null</c></strong> to read the characteristics of a texture when the texture is loaded.</p> </dd></param>	
                            /// <param name="pumpRef"><dd>  <p>A reference to a thread pump interface (see <strong><see cref="System.IntPtr"/> Interface</strong>). If <strong><c>null</c></strong> is specified, this function will behave synchronously and will not return until it is finished.</p> </dd></param>	
                            /// <param name="shaderResourceViewOut"><dd>  <p>Address of a reference to the shader-resource view (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceView"/> Interface</strong>).</p> </dd></param>	
                            /// <param name="hResultRef"><dd>  <p>A reference to the return value. May be <strong><c>null</c></strong>. If <em>pPump</em> is not <strong><c>null</c></strong>, then <em>pHResult</em> must be a valid memory location until the asynchronous execution completes.</p> </dd></param>	
                            /// <returns><p>The return value is one of the values listed in Direct3D 10 Return Codes.</p></returns>	
                            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10CreateShaderResourceViewFromResourceW']/*"/>	
                            /// <msdn-id>bb172669</msdn-id>	
                            /// <unmanaged>HRESULT D3DX10CreateShaderResourceViewFromResourceW([In] ID3D10Device* pDevice,[In] HINSTANCE hSrcModule,[In] const wchar_t* pSrcResource,[In, Optional] D3DX10_IMAGE_LOAD_INFO* pLoadInfo,[In] ID3DX10ThreadPump* pPump,[In] ID3D10ShaderResourceView** ppShaderResourceView,[Out] HRESULT* pHResult)</unmanaged>	
                            /// <unmanaged-short>D3DX10CreateShaderResourceViewFromResourceW</unmanaged-short>	
                            public static void CreateShaderResourceViewFromResource(SharpDX.Direct3D10.Device deviceRef, System.IntPtr hSrcModule, string srcResourceRef, SharpDX.Direct3D10.ImageLoadInformation? loadInfoRef, System.IntPtr pumpRef, out SharpDX.Direct3D10.ShaderResourceView shaderResourceViewOut, out SharpDX.Result hResultRef) {
                                unsafe {
                                    SharpDX.Direct3D10.ImageLoadInformation loadInfoRef_;
                                    if (loadInfoRef.HasValue)
                                        loadInfoRef_ = loadInfoRef.Value;				
                                    IntPtr shaderResourceViewOut_ = IntPtr.Zero;
                                    hResultRef = new SharpDX.Result();
                                    SharpDX.Result __result__;
                                    fixed (char* srcResourceRef_ = srcResourceRef)
                                        fixed (void* hResultRef_ = &hResultRef)
                                            __result__= 
                            				D3DX10CreateShaderResourceViewFromResourceW_((void*)((deviceRef == null)?IntPtr.Zero:deviceRef.NativePointer), (void*)hSrcModule, (void*)srcResourceRef_, (loadInfoRef.HasValue)?&loadInfoRef_:(void*)IntPtr.Zero, (void*)pumpRef, &shaderResourceViewOut_, hResultRef_);		
                                        shaderResourceViewOut= (shaderResourceViewOut_ == IntPtr.Zero)?null:new SharpDX.Direct3D10.ShaderResourceView(shaderResourceViewOut_);	
                                        __result__.CheckError();
                                    }
                                }
                                [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10CreateShaderResourceViewFromResourceW", CallingConvention = CallingConvention.StdCall)]
                                private unsafe static extern int D3DX10CreateShaderResourceViewFromResourceW_(void* arg0,void* arg1,void* arg2,void* arg3,void* arg4,void* arg5,void* arg6);
                                
                                /// <summary>	
                                /// <p>Projects a function represented in a cube map into spherical harmonics.</p>	
                                /// </summary>	
                                /// <param name="order"><dd>  <p>Order of the SH evaluation, generates Order^2 coefs, degree is Order-1.</p> </dd></param>	
                                /// <param name="cubeMapRef"><dd>  <p>Cubemap that is going to be projected into spherical harmonics. See <strong><see cref="SharpDX.Direct3D10.Texture2D"/></strong>.</p> </dd></param>	
                                /// <param name="rOutRef"><dd>  <p>Output SH vector for red.</p> </dd></param>	
                                /// <param name="gOutRef"><dd>  <p>Output SH vector for green.</p> </dd></param>	
                                /// <param name="bOutRef"><dd>  <p>Output SH vector for blue.</p> </dd></param>	
                                /// <returns><p>The return value is one of the values listed in Direct3D 10 Return Codes.</p></returns>	
                                /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10SHProjectCubeMap']/*"/>	
                                /// <msdn-id>bb172686</msdn-id>	
                                /// <unmanaged>HRESULT D3DX10SHProjectCubeMap([In] unsigned int Order,[In] ID3D10Texture2D* pCubeMap,[Out, Buffer] float* pROut,[Out, Buffer, Optional] float* pGOut,[Out, Buffer, Optional] float* pBOut)</unmanaged>	
                                /// <unmanaged-short>D3DX10SHProjectCubeMap</unmanaged-short>	
                                public static void SHProjectCubeMap(int order, SharpDX.Direct3D10.Texture2D cubeMapRef, float[] rOutRef, float[] gOutRef, float[] bOutRef) {
                                    unsafe {
                                        float[] gOutRef__ = gOutRef;
                                        float[] bOutRef__ = bOutRef;
                                        SharpDX.Result __result__;
                                        fixed (void* rOutRef_ = rOutRef)
                                            fixed (void* gOutRef_ = gOutRef__)
                                                fixed (void* bOutRef_ = bOutRef__)
                                                    __result__= 
                                    				D3DX10SHProjectCubeMap_(order, (void*)((cubeMapRef == null)?IntPtr.Zero:cubeMapRef.NativePointer), rOutRef_, gOutRef_, bOutRef_);		
                                        __result__.CheckError();
                                    }
                                }
                                [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10SHProjectCubeMap", CallingConvention = CallingConvention.StdCall)]
                                private unsafe static extern int D3DX10SHProjectCubeMap_(int arg0,void* arg1,void* arg2,void* arg3,void* arg4);
                                
                                /// <summary>	
                                /// <p>Load a texture from a texture.</p>	
                                /// </summary>	
                                /// <param name="srcTextureRef"><dd>  <p>Pointer to the source texture. See <strong><see cref="SharpDX.Direct3D10.Resource"/></strong>.</p> </dd></param>	
                                /// <param name="loadInfoRef"><dd>  <p>Pointer to texture loading parameters. See <strong><see cref="SharpDX.Direct3D10.TextureLoadInformation"/></strong>.</p> </dd></param>	
                                /// <param name="dstTextureRef"><dd>  <p>Pointer to the destination texture. See <strong><see cref="SharpDX.Direct3D10.Resource"/> Interface</strong>.</p> </dd></param>	
                                /// <returns><p>The return value is one of the values listed in Direct3D 10 Return Codes.</p></returns>	
                                /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10LoadTextureFromTexture']/*"/>	
                                /// <msdn-id>bb172680</msdn-id>	
                                /// <unmanaged>HRESULT D3DX10LoadTextureFromTexture([In] ID3D10Resource* pSrcTexture,[In] D3DX10_TEXTURE_LOAD_INFO* pLoadInfo,[In] ID3D10Resource* pDstTexture)</unmanaged>	
                                /// <unmanaged-short>D3DX10LoadTextureFromTexture</unmanaged-short>	
                                public static void LoadTextureFromTexture(SharpDX.Direct3D10.Resource srcTextureRef, SharpDX.Direct3D10.TextureLoadInformation loadInfoRef, SharpDX.Direct3D10.Resource dstTextureRef) {
                                    unsafe {
                                        var loadInfoRef_ = new SharpDX.Direct3D10.TextureLoadInformation.__Native();
                                        loadInfoRef.__MarshalTo(ref loadInfoRef_);
                                        SharpDX.Result __result__;
                                        __result__= 
                        				D3DX10LoadTextureFromTexture_((void*)((srcTextureRef == null)?IntPtr.Zero:srcTextureRef.NativePointer), &loadInfoRef_, (void*)((dstTextureRef == null)?IntPtr.Zero:dstTextureRef.NativePointer));		
                                        loadInfoRef.__MarshalFree(ref loadInfoRef_);
                                        __result__.CheckError();
                                    }
                                }
                                [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10LoadTextureFromTexture", CallingConvention = CallingConvention.StdCall)]
                                private unsafe static extern int D3DX10LoadTextureFromTexture_(void* arg0,void* arg1,void* arg2);
                                
                                /// <summary>	
                                /// <p>Retrieves information about a given image file.</p>	
                                /// </summary>	
                                /// <param name="srcFileRef"><dd>  <p>File name of image to retrieve information about. If UNICODE or _UNICODE are defined, this parameter type is LPCWSTR, otherwise, the type is LPCSTR.</p> </dd></param>	
                                /// <param name="pumpRef"><dd>  <p>Optional thread pump that can be used to load the info asynchronously. Can be <strong><c>null</c></strong>. See <strong><see cref="System.IntPtr"/></strong>.</p> </dd></param>	
                                /// <param name="srcInfoRef"><dd>  <p>Pointer to a <see cref="SharpDX.Direct3D10.ImageInformation"/> structure to be filled with the description of the data in the source file.</p> </dd></param>	
                                /// <param name="hResultRef"><dd>  <p>A reference to the return value. May be <strong><c>null</c></strong>. If <em>pPump</em> is not <strong><c>null</c></strong>, then <em>pHResult</em> must be a valid memory location until the asynchronous execution completes.</p> </dd></param>	
                                /// <returns><p>If the function succeeds, the return value is D3D_OK. If the function fails, the return value can be the following: D3DERR_INVALIDCALL</p></returns>	
                                /// <remarks>	
                                /// <p>This function supports both Unicode and ANSI strings.</p>	
                                /// </remarks>	
                                /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10GetImageInfoFromFileW']/*"/>	
                                /// <msdn-id>bb172677</msdn-id>	
                                /// <unmanaged>HRESULT D3DX10GetImageInfoFromFileW([In] const wchar_t* pSrcFile,[In] ID3DX10ThreadPump* pPump,[In] D3DX10_IMAGE_INFO* pSrcInfo,[Out] HRESULT* pHResult)</unmanaged>	
                                /// <unmanaged-short>D3DX10GetImageInfoFromFileW</unmanaged-short>	
                                public static void GetImageInfoFromFile(string srcFileRef, System.IntPtr pumpRef, ref SharpDX.Direct3D10.ImageInformation srcInfoRef, out SharpDX.Result hResultRef) {
                                    unsafe {
                                        hResultRef = new SharpDX.Result();
                                        SharpDX.Result __result__;
                                        fixed (char* srcFileRef_ = srcFileRef)
                                            fixed (void* srcInfoRef_ = &srcInfoRef)
                                                fixed (void* hResultRef_ = &hResultRef)
                                                    __result__= 
                                    				D3DX10GetImageInfoFromFileW_((void*)srcFileRef_, (void*)pumpRef, srcInfoRef_, hResultRef_);		
                                            __result__.CheckError();
                                        }
                                    }
                                    [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10GetImageInfoFromFileW", CallingConvention = CallingConvention.StdCall)]
                                    private unsafe static extern int D3DX10GetImageInfoFromFileW_(void* arg0,void* arg1,void* arg2,void* arg3);
                                    
                                    /// <summary>	
                                    /// <p>Create a shader-resource view from a file in memory.</p>	
                                    /// </summary>	
                                    /// <param name="deviceRef"><dd>  <p>A reference to the device (see <strong><see cref="SharpDX.Direct3D10.Device"/> Interface</strong>) that will use the resource.</p> </dd></param>	
                                    /// <param name="srcDataRef"><dd>  <p>Pointer to the file in memory that contains the shader-resource view.</p> </dd></param>	
                                    /// <param name="srcDataSize"><dd>  <p>Size of the file in memory.</p> </dd></param>	
                                    /// <param name="loadInfoRef"><dd>  <p>Optional. Identifies the characteristics of a texture (see <strong><see cref="SharpDX.Direct3D10.ImageLoadInformation"/></strong>) when the data processor is created; set this to <strong><c>null</c></strong> to read the characteristics of a texture when the texture is loaded.</p> </dd></param>	
                                    /// <param name="pumpRef"><dd>  <p>A reference to a thread pump interface (see <strong><see cref="System.IntPtr"/> Interface</strong>). If <strong><c>null</c></strong> is specified, this function will behave synchronously and will not return until it is finished.</p> </dd></param>	
                                    /// <param name="shaderResourceViewOut"><dd>  <p>Address of a reference to the newly created shader resource view. See <strong><see cref="SharpDX.Direct3D10.ShaderResourceView"/> Interface</strong>.</p> </dd></param>	
                                    /// <param name="hResultRef"><dd>  <p>A reference to the return value. May be <strong><c>null</c></strong>. If <em>pPump</em> is not <strong><c>null</c></strong>, then <em>pHResult</em> must be a valid memory location until the asynchronous execution completes.</p> </dd></param>	
                                    /// <returns><p>The return value is one of the values listed in Direct3D 10 Return Codes.</p></returns>	
                                    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10CreateShaderResourceViewFromMemory']/*"/>	
                                    /// <msdn-id>bb172668</msdn-id>	
                                    /// <unmanaged>HRESULT D3DX10CreateShaderResourceViewFromMemory([In] ID3D10Device* pDevice,[In] const void* pSrcData,[In] SIZE_T SrcDataSize,[In, Optional] D3DX10_IMAGE_LOAD_INFO* pLoadInfo,[In] ID3DX10ThreadPump* pPump,[In] ID3D10ShaderResourceView** ppShaderResourceView,[Out] HRESULT* pHResult)</unmanaged>	
                                    /// <unmanaged-short>D3DX10CreateShaderResourceViewFromMemory</unmanaged-short>	
                                    public static void CreateShaderResourceViewFromMemory(SharpDX.Direct3D10.Device deviceRef, System.IntPtr srcDataRef, SharpDX.PointerSize srcDataSize, SharpDX.Direct3D10.ImageLoadInformation? loadInfoRef, System.IntPtr pumpRef, out SharpDX.Direct3D10.ShaderResourceView shaderResourceViewOut, out SharpDX.Result hResultRef) {
                                        unsafe {
                                            SharpDX.Direct3D10.ImageLoadInformation loadInfoRef_;
                                            if (loadInfoRef.HasValue)
                                                loadInfoRef_ = loadInfoRef.Value;				
                                            IntPtr shaderResourceViewOut_ = IntPtr.Zero;
                                            hResultRef = new SharpDX.Result();
                                            SharpDX.Result __result__;
                                            fixed (void* hResultRef_ = &hResultRef)
                                                __result__= 
                                				D3DX10CreateShaderResourceViewFromMemory_((void*)((deviceRef == null)?IntPtr.Zero:deviceRef.NativePointer), (void*)srcDataRef, (void*)srcDataSize, (loadInfoRef.HasValue)?&loadInfoRef_:(void*)IntPtr.Zero, (void*)pumpRef, &shaderResourceViewOut_, hResultRef_);		
                                            shaderResourceViewOut= (shaderResourceViewOut_ == IntPtr.Zero)?null:new SharpDX.Direct3D10.ShaderResourceView(shaderResourceViewOut_);	
                                            __result__.CheckError();
                                        }
                                    }
                                    [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10CreateShaderResourceViewFromMemory", CallingConvention = CallingConvention.StdCall)]
                                    private unsafe static extern int D3DX10CreateShaderResourceViewFromMemory_(void* arg0,void* arg1,void* arg2,void* arg3,void* arg4,void* arg5,void* arg6);
                                    
                                    /// <summary>	
                                    /// <p>Converts a height map into a normal map. The (x,y,z) components of each normal are mapped to the (r,g,b) channels of the output texture.</p>	
                                    /// </summary>	
                                    /// <param name="srcTextureRef"><dd>  <p>Pointer to an <see cref="SharpDX.Direct3D10.Texture2D"/> interface, representing the source height-map texture.</p> </dd></param>	
                                    /// <param name="flags"><dd>  <p>One or more D3DX_NORMALMAP flags that control generation of normal maps.</p> </dd></param>	
                                    /// <param name="channel"><dd>  <p>One D3DX_CHANNEL flag specifying the source of height information.</p> </dd></param>	
                                    /// <param name="amplitude"><dd>  <p>Constant value multiplier that increases (or decreases) the values in the normal map. Higher values usually make bumps more visible, lower values usually make bumps less visible.</p> </dd></param>	
                                    /// <param name="destTextureRef"><dd>  <p>Pointer to an <see cref="SharpDX.Direct3D10.Texture2D"/> interface, representing the destination texture.</p> </dd></param>	
                                    /// <returns><p>If the function succeeds, the return value is D3D_OK. If the function fails, the return value can be the following value: D3DERR_INVALIDCALL.</p></returns>	
                                    /// <remarks>	
                                    /// <p>This method computes the normal by using the central difference with a kernel size of 3x3. RGB channels in the destination contain biased (x,y,z) components of the normal. The central differencing denominator is hardcoded to 2.0.</p>	
                                    /// </remarks>	
                                    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10ComputeNormalMap']/*"/>	
                                    /// <msdn-id>bb172646</msdn-id>	
                                    /// <unmanaged>HRESULT D3DX10ComputeNormalMap([In] ID3D10Texture2D* pSrcTexture,[In] D3DX10_NORMALMAP_FLAG Flags,[In] D3DX10_CHANNEL_FLAG Channel,[In] float Amplitude,[In] ID3D10Texture2D* pDestTexture)</unmanaged>	
                                    /// <unmanaged-short>D3DX10ComputeNormalMap</unmanaged-short>	
                                    public static void ComputeNormalMap(SharpDX.Direct3D10.Texture2D srcTextureRef, SharpDX.Direct3D10.NormalMapFlags flags, SharpDX.Direct3D10.Channel channel, float amplitude, SharpDX.Direct3D10.Texture2D destTextureRef) {
                                        unsafe {
                                            SharpDX.Result __result__;
                                            __result__= 
                            				D3DX10ComputeNormalMap_((void*)((srcTextureRef == null)?IntPtr.Zero:srcTextureRef.NativePointer), unchecked((int)flags), unchecked((int)channel), amplitude, (void*)((destTextureRef == null)?IntPtr.Zero:destTextureRef.NativePointer));		
                                            __result__.CheckError();
                                        }
                                    }
                                    [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10ComputeNormalMap", CallingConvention = CallingConvention.StdCall)]
                                    private unsafe static extern int D3DX10ComputeNormalMap_(void* arg0,int arg1,int arg2,float arg3,void* arg4);
                                    
                                    /// <summary>	
                                    /// <p>Generates mipmap chain using a particular texture filter.</p>	
                                    /// </summary>	
                                    /// <param name="textureRef"><dd>  <p>The texture object to be filtered. See <strong><see cref="SharpDX.Direct3D10.Resource"/></strong>.</p> </dd></param>	
                                    /// <param name="srcLevel"><dd>  <p>The mipmap level whose data is used to generate the rest of the mipmap chain.</p> </dd></param>	
                                    /// <param name="mipFilter"><dd>  <p>Flags controlling how each miplevel is filtered (or D3DX10_DEFAULT for <see cref="SharpDX.Direct3D10.FilterFlags.Box"/>). See <strong><see cref="SharpDX.Direct3D10.FilterFlags"/></strong>.</p> </dd></param>	
                                    /// <returns><p>The return value is one of the values listed in Direct3D 10 Return Codes.</p></returns>	
                                    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10FilterTexture']/*"/>	
                                    /// <msdn-id>bb172675</msdn-id>	
                                    /// <unmanaged>HRESULT D3DX10FilterTexture([In] ID3D10Resource* pTexture,[In] unsigned int SrcLevel,[In] unsigned int MipFilter)</unmanaged>	
                                    /// <unmanaged-short>D3DX10FilterTexture</unmanaged-short>	
                                    public static void FilterTexture(SharpDX.Direct3D10.Resource textureRef, int srcLevel, int mipFilter) {
                                        unsafe {
                                            SharpDX.Result __result__;
                                            __result__= 
                            				D3DX10FilterTexture_((void*)((textureRef == null)?IntPtr.Zero:textureRef.NativePointer), srcLevel, mipFilter);		
                                            __result__.CheckError();
                                        }
                                    }
                                    [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10FilterTexture", CallingConvention = CallingConvention.StdCall)]
                                    private unsafe static extern int D3DX10FilterTexture_(void* arg0,int arg1,int arg2);
                                    
                                    /// <summary>	
                                    /// <p>Create a texture from another resource.</p>	
                                    /// </summary>	
                                    /// <param name="deviceRef"><dd>  <p>A reference to the device (see <strong><see cref="SharpDX.Direct3D10.Device"/> Interface</strong>) that will use the resource.</p> </dd></param>	
                                    /// <param name="hSrcModule"><dd>  <p>A handle to the source resource. HMODULE can be obtained with  GetModuleHandle Function.</p> </dd></param>	
                                    /// <param name="srcResourceRef"><dd>  <p>A string that contains the name of the source resource.  If the compiler settings require Unicode, the data type LPCTSTR resolves to LPCWSTR. Otherwise, the data type resolves to LPCSTR. </p> </dd></param>	
                                    /// <param name="loadInfoRef"><dd>  <p>Optional. Identifies the characteristics of a texture (see <strong><see cref="SharpDX.Direct3D10.ImageLoadInformation"/></strong>) when the data processor is created;  set this to <strong><c>null</c></strong> to read the characteristics of a texture when the texture is loaded.</p> </dd></param>	
                                    /// <param name="pumpRef"><dd>  <p>A reference to a thread pump interface (see <strong><see cref="System.IntPtr"/> Interface</strong>). If <strong><c>null</c></strong> is specified, this function will behave synchronously  and will not return until it is finished.</p> </dd></param>	
                                    /// <param name="textureOut"><dd>  <p>The address of a reference to the texture resource (see <strong><see cref="SharpDX.Direct3D10.Resource"/> Interface</strong>).</p> </dd></param>	
                                    /// <param name="hResultRef"><dd>  <p>A reference to the return value. May be <strong><c>null</c></strong>. If <em>pPump</em> is not <strong><c>null</c></strong>, then <em>pHResult</em> must be a  valid memory location until the asynchronous execution completes.</p> </dd></param>	
                                    /// <returns><p>The return value is one of the values listed in Direct3D 10 Return Codes.</p></returns>	
                                    /// <remarks>	
                                    /// <p>For a list of supported image formats see <strong><see cref="SharpDX.Direct3D10.ImageFileFormat"/></strong>.</p>	
                                    /// </remarks>	
                                    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10CreateTextureFromResourceW']/*"/>	
                                    /// <msdn-id>bb172673</msdn-id>	
                                    /// <unmanaged>HRESULT D3DX10CreateTextureFromResourceW([In] ID3D10Device* pDevice,[In] HINSTANCE hSrcModule,[In] const wchar_t* pSrcResource,[In, Optional] D3DX10_IMAGE_LOAD_INFO* pLoadInfo,[In] ID3DX10ThreadPump* pPump,[Out] void** ppTexture,[Out] HRESULT* pHResult)</unmanaged>	
                                    /// <unmanaged-short>D3DX10CreateTextureFromResourceW</unmanaged-short>	
                                    internal static void CreateTextureFromResource(SharpDX.Direct3D10.Device deviceRef, System.IntPtr hSrcModule, string srcResourceRef, SharpDX.Direct3D10.ImageLoadInformation? loadInfoRef, System.IntPtr pumpRef, out System.IntPtr textureOut, out SharpDX.Result hResultRef) {
                                        unsafe {
                                            SharpDX.Direct3D10.ImageLoadInformation loadInfoRef_;
                                            if (loadInfoRef.HasValue)
                                                loadInfoRef_ = loadInfoRef.Value;				
                                            hResultRef = new SharpDX.Result();
                                            SharpDX.Result __result__;
                                            fixed (char* srcResourceRef_ = srcResourceRef)
                                                fixed (void* textureOut_ = &textureOut)
                                                    fixed (void* hResultRef_ = &hResultRef)
                                                        __result__= 
                                        				D3DX10CreateTextureFromResourceW_((void*)((deviceRef == null)?IntPtr.Zero:deviceRef.NativePointer), (void*)hSrcModule, (void*)srcResourceRef_, (loadInfoRef.HasValue)?&loadInfoRef_:(void*)IntPtr.Zero, (void*)pumpRef, textureOut_, hResultRef_);		
                                                __result__.CheckError();
                                            }
                                        }
                                        [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10CreateTextureFromResourceW", CallingConvention = CallingConvention.StdCall)]
                                        private unsafe static extern int D3DX10CreateTextureFromResourceW_(void* arg0,void* arg1,void* arg2,void* arg3,void* arg4,void* arg5,void* arg6);
                                        
                                        /// <summary>	
                                        /// <p>Create a texture resource from a file residing in system memory.</p>	
                                        /// </summary>	
                                        /// <param name="deviceRef"><dd>  <p>A reference to the device (see <strong><see cref="SharpDX.Direct3D10.Device"/> Interface</strong>) that will use the resource.</p> </dd></param>	
                                        /// <param name="srcDataRef"><dd>  <p>Pointer to the resource in system memory.</p> </dd></param>	
                                        /// <param name="srcDataSize"><dd>  <p>Size of the resource in system memory.</p> </dd></param>	
                                        /// <param name="loadInfoRef"><dd>  <p>Optional. Identifies the characteristics of a texture (see <strong><see cref="SharpDX.Direct3D10.ImageLoadInformation"/></strong>) when the data processor is created;  set this to <strong><c>null</c></strong> to read the characteristics of a texture when the texture is loaded.</p> </dd></param>	
                                        /// <param name="pumpRef"><dd>  <p>A reference to a thread pump interface (see <strong><see cref="System.IntPtr"/> Interface</strong>). If <strong><c>null</c></strong> is specified, this function will behave synchronously  and will not return until it is finished.</p> </dd></param>	
                                        /// <param name="textureOut"><dd>  <p>Address of a reference to the created resource. See <strong><see cref="SharpDX.Direct3D10.Resource"/> Interface</strong>.</p> </dd></param>	
                                        /// <param name="hResultRef"><dd>  <p>A reference to the return value. May be <strong><c>null</c></strong>. If <em>pPump</em> is not <strong><c>null</c></strong>, then <em>pHResult</em> must be a  valid memory location until the asynchronous execution completes.</p> </dd></param>	
                                        /// <returns><p>The return value is one of the values listed in Direct3D 10 Return Codes.</p></returns>	
                                        /// <remarks>	
                                        /// <p>For a list of supported image formats see <strong><see cref="SharpDX.Direct3D10.ImageFileFormat"/></strong>.</p>	
                                        /// </remarks>	
                                        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10CreateTextureFromMemory']/*"/>	
                                        /// <msdn-id>bb172672</msdn-id>	
                                        /// <unmanaged>HRESULT D3DX10CreateTextureFromMemory([In] ID3D10Device* pDevice,[In] const void* pSrcData,[In] SIZE_T SrcDataSize,[In, Optional] D3DX10_IMAGE_LOAD_INFO* pLoadInfo,[In] ID3DX10ThreadPump* pPump,[Out] void** ppTexture,[Out] HRESULT* pHResult)</unmanaged>	
                                        /// <unmanaged-short>D3DX10CreateTextureFromMemory</unmanaged-short>	
                                        internal static void CreateTextureFromMemory(SharpDX.Direct3D10.Device deviceRef, System.IntPtr srcDataRef, SharpDX.PointerSize srcDataSize, SharpDX.Direct3D10.ImageLoadInformation? loadInfoRef, System.IntPtr pumpRef, out System.IntPtr textureOut, out SharpDX.Result hResultRef) {
                                            unsafe {
                                                SharpDX.Direct3D10.ImageLoadInformation loadInfoRef_;
                                                if (loadInfoRef.HasValue)
                                                    loadInfoRef_ = loadInfoRef.Value;				
                                                hResultRef = new SharpDX.Result();
                                                SharpDX.Result __result__;
                                                fixed (void* textureOut_ = &textureOut)
                                                    fixed (void* hResultRef_ = &hResultRef)
                                                        __result__= 
                                        				D3DX10CreateTextureFromMemory_((void*)((deviceRef == null)?IntPtr.Zero:deviceRef.NativePointer), (void*)srcDataRef, (void*)srcDataSize, (loadInfoRef.HasValue)?&loadInfoRef_:(void*)IntPtr.Zero, (void*)pumpRef, textureOut_, hResultRef_);		
                                                __result__.CheckError();
                                            }
                                        }
                                        [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10CreateTextureFromMemory", CallingConvention = CallingConvention.StdCall)]
                                        private unsafe static extern int D3DX10CreateTextureFromMemory_(void* arg0,void* arg1,void* arg2,void* arg3,void* arg4,void* arg5,void* arg6);
                                        
                                        /// <summary>	
                                        /// <p>Creates a mesh object using a declarator.</p>	
                                        /// </summary>	
                                        /// <param name="deviceRef"><dd>  <p>Pointer to an <strong><see cref="SharpDX.Direct3D10.Device"/> Interface</strong>, the device object to be associated with the mesh.</p> </dd></param>	
                                        /// <param name="declarationRef"><dd>  <p>Array of <strong><see cref="SharpDX.Direct3D10.InputElement"/></strong> elements, describing the vertex format for the returned mesh. This parameter must map directly to a flexible vertex format (FVF).</p> </dd></param>	
                                        /// <param name="declCount"><dd>  <p>The number of elements in pDeclaration.</p> </dd></param>	
                                        /// <param name="positionSemanticRef"><dd>  <p>Semantic that identifies which part of the vertex declaration contains position information.</p> </dd></param>	
                                        /// <param name="vertexCount"><dd>  <p>Number of vertices for the mesh. This parameter must be greater than 0.</p> </dd></param>	
                                        /// <param name="faceCount"><dd>  <p>Number of faces for the mesh. The valid range for this number is greater than 0, and one less than the maximum DWORD (typically 65534), because the last index is reserved.</p> </dd></param>	
                                        /// <param name="options"><dd>  <p>Combination of one or more flags from the <strong>D3DX10_MESH</strong>, specifying options for the mesh. </p> </dd></param>	
                                        /// <param name="meshOut"><dd>  <p>Address of a reference to an <strong><see cref="SharpDX.Direct3D10.Mesh"/> Interface</strong>, representing the created mesh object.</p> </dd></param>	
                                        /// <returns><p>If the function succeeds, the return value is D3D_OK. If the function fails, the return value can be one of the following: D3DERR_INVALIDCALL, E_OUTOFMEMORY.</p></returns>	
                                        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10CreateMesh']/*"/>	
                                        /// <msdn-id>bb204914</msdn-id>	
                                        /// <unmanaged>HRESULT D3DX10CreateMesh([In] ID3D10Device* pDevice,[In, Buffer] const D3D10_INPUT_ELEMENT_DESC* pDeclaration,[In] unsigned int DeclCount,[In] const char* pPositionSemantic,[In] unsigned int VertexCount,[In] unsigned int FaceCount,[In] unsigned int Options,[Out, Fast] ID3DX10Mesh** ppMesh)</unmanaged>	
                                        /// <unmanaged-short>D3DX10CreateMesh</unmanaged-short>	
                                        public static void CreateMesh(SharpDX.Direct3D10.Device deviceRef, SharpDX.Direct3D10.InputElement[] declarationRef, int declCount, string positionSemanticRef, int vertexCount, int faceCount, int options, SharpDX.Direct3D10.Mesh meshOut) {
                                            unsafe {
                                                SharpDX.Direct3D10.InputElement.__Native[] declarationRef__ = new SharpDX.Direct3D10.InputElement.__Native[declarationRef.Length];
                                                for (int i = 0; i < declarationRef.Length; i++)
                                                    declarationRef[i].__MarshalTo(ref declarationRef__[i]);				
                                                IntPtr positionSemanticRef_ = Utilities.StringToHGlobalAnsi(positionSemanticRef);
                                                IntPtr meshOut_ = IntPtr.Zero;
                                                SharpDX.Result __result__;
                                                fixed (void* declarationRef_ = declarationRef__)
                                                    __result__= 
                                    				D3DX10CreateMesh_((void*)((deviceRef == null)?IntPtr.Zero:deviceRef.NativePointer), declarationRef_, declCount, (void*)positionSemanticRef_, vertexCount, faceCount, options, &meshOut_);		
                                                for (int i = 0; i < declarationRef.Length; i++)
                                                    declarationRef[i].__MarshalFree(ref declarationRef__[i]);
                                                Marshal.FreeHGlobal(positionSemanticRef_ );
                                                ((SharpDX.Direct3D10.Mesh)meshOut).NativePointer = meshOut_;
                                                __result__.CheckError();
                                            }
                                        }
                                        [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10CreateMesh", CallingConvention = CallingConvention.StdCall)]
                                        private unsafe static extern int D3DX10CreateMesh_(void* arg0,void* arg1,int arg2,void* arg3,int arg4,int arg5,int arg6,void* arg7);
                                        
                                        /// <summary>	
                                        /// <p>Creates an empty skin mesh object using a declarator.</p>	
                                        /// </summary>	
                                        /// <param name="skinInfoOut"><dd>  <p>Address of a reference to an <strong><see cref="SharpDX.Direct3D10.SkinInfo"/> Interface</strong>, representing the created skin mesh object.</p> </dd></param>	
                                        /// <returns><p>If the function succeeds, the return value is D3D_OK. If the function fails, the return value can be: E_OUTOFMEMORY.</p></returns>	
                                        /// <remarks>	
                                        /// <p>Use the <strong><see cref="SharpDX.Direct3D10.SkinInfo.SetBoneInfluence"/></strong> to populate the empty skin mesh object returned by this method.</p>	
                                        /// </remarks>	
                                        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10CreateSkinInfo']/*"/>	
                                        /// <msdn-id>bb204915</msdn-id>	
                                        /// <unmanaged>HRESULT D3DX10CreateSkinInfo([In] ID3DX10SkinInfo** ppSkinInfo)</unmanaged>	
                                        /// <unmanaged-short>D3DX10CreateSkinInfo</unmanaged-short>	
                                        public static void CreateSkinInfo(out SharpDX.Direct3D10.SkinInfo skinInfoOut) {
                                            unsafe {
                                                IntPtr skinInfoOut_ = IntPtr.Zero;
                                                SharpDX.Result __result__;
                                                __result__= 
                                				D3DX10CreateSkinInfo_(&skinInfoOut_);		
                                                skinInfoOut= (skinInfoOut_ == IntPtr.Zero)?null:new SharpDX.Direct3D10.SkinInfo(skinInfoOut_);	
                                                __result__.CheckError();
                                            }
                                        }
                                        [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10CreateSkinInfo", CallingConvention = CallingConvention.StdCall)]
                                        private unsafe static extern int D3DX10CreateSkinInfo_(void* arg0);
                                        
                                        /// <summary>	
                                        /// <p>Create an effect pool from a resource.</p>	
                                        /// </summary>	
                                        /// <param name="hModule"><dd>  <p>A handle to the resource module containing the effect. HMODULE can be obtained with GetModuleHandle Function.</p> </dd></param>	
                                        /// <param name="resourceNameRef"><dd>  <p>The name of the resource in hModule. If the compiler settings require Unicode, the data type LPCTSTR resolves to LPCWSTR. Otherwise, the data type resolves to LPCSTR.</p> </dd></param>	
                                        /// <param name="srcFileNameRef"><dd>  <p>Optional. Effect file name, which is used for error messages only. Can be <strong><c>null</c></strong>.</p> </dd></param>	
                                        /// <param name="definesRef"><dd>  <p>A <c>null</c>-terminated array of shader macros (see <strong>D3D10_SHADER_MACRO</strong>); set this to <strong><c>null</c></strong> to specify no macros.</p> </dd></param>	
                                        /// <param name="includeRef"><dd>  <p>A reference to an include interface (see <strong>ID3D10Include Interface</strong>). This parameter can be <strong><c>null</c></strong>.</p> </dd></param>	
                                        /// <param name="profileRef"><dd>  <p>A string that specifies the shader profile, or shader model.</p> </dd></param>	
                                        /// <param name="hLSLFlags"><dd>  <p>HLSL compile options (see D3D10_SHADER Constants).</p> </dd></param>	
                                        /// <param name="fXFlags"><dd>  <p>Effect compile options (see Compile and Effect Flags).</p> </dd></param>	
                                        /// <param name="deviceRef"><dd>  <p>A reference to the device (see <strong><see cref="SharpDX.Direct3D10.Device"/> Interface</strong>) that will use the resources.</p> </dd></param>	
                                        /// <param name="pumpRef"><dd>  <p>A reference to a thread pump interface (see <strong><see cref="System.IntPtr"/> Interface</strong>). Use <strong><c>null</c></strong> to specify that this function should not return until it is completed.</p> </dd></param>	
                                        /// <param name="effectPoolOut"><dd>  <p>The address of a reference to the effect pool (see <strong><see cref="SharpDX.Direct3D10.EffectPool"/> Interface</strong>).</p> </dd></param>	
                                        /// <param name="errorsOut"><dd>  <p>The address of a reference to memory (see <strong><see cref="SharpDX.Direct3D.Blob"/> Interface</strong>) that contains effect compile errors, if there were any.</p> </dd></param>	
                                        /// <param name="hResultRef"><dd>  <p>A reference to the return value. May be <strong><c>null</c></strong>. If <em>pPump</em> is not <strong><c>null</c></strong>, then <em>pHResult</em> must be a valid memory location until the asynchronous execution completes.</p> </dd></param>	
                                        /// <returns><p>The return value is one of the values listed in Direct3D 10 Return Codes.</p></returns>	
                                        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10CreateEffectPoolFromResourceW']/*"/>	
                                        /// <msdn-id>bb172663</msdn-id>	
                                        /// <unmanaged>HRESULT D3DX10CreateEffectPoolFromResourceW([In] HINSTANCE hModule,[In] const wchar_t* pResourceName,[In] const wchar_t* pSrcFileName,[In, Buffer, Optional] const D3D_SHADER_MACRO* pDefines,[In] ID3DInclude* pInclude,[In] const char* pProfile,[In] unsigned int HLSLFlags,[In] unsigned int FXFlags,[In] ID3D10Device* pDevice,[In] ID3DX10ThreadPump* pPump,[In] ID3D10EffectPool** ppEffectPool,[In] ID3D10Blob** ppErrors,[Out] HRESULT* pHResult)</unmanaged>	
                                        /// <unmanaged-short>D3DX10CreateEffectPoolFromResourceW</unmanaged-short>	
                                        public static void CreateEffectPoolFromResource(System.IntPtr hModule, string resourceNameRef, string srcFileNameRef, SharpDX.Direct3D.ShaderMacro[] definesRef, System.IntPtr includeRef, string profileRef, int hLSLFlags, int fXFlags, SharpDX.Direct3D10.Device deviceRef, System.IntPtr pumpRef, out SharpDX.Direct3D10.EffectPool effectPoolOut, out SharpDX.Direct3D.Blob errorsOut, out SharpDX.Result hResultRef) {
                                            unsafe {
                                                SharpDX.Direct3D.ShaderMacro.__Native[] definesRef__ = (definesRef == null)? null : new SharpDX.Direct3D.ShaderMacro.__Native[definesRef.Length];
                                				if (definesRef != null)
                                                for (int i = 0; i < definesRef.Length; i++)
                                                    definesRef[i].__MarshalTo(ref definesRef__[i]);				
                                                IntPtr profileRef_ = Utilities.StringToHGlobalAnsi(profileRef);
                                                IntPtr effectPoolOut_ = IntPtr.Zero;
                                                IntPtr errorsOut_ = IntPtr.Zero;
                                                hResultRef = new SharpDX.Result();
                                                SharpDX.Result __result__;
                                                fixed (char* resourceNameRef_ = resourceNameRef)
                                                    fixed (char* srcFileNameRef_ = srcFileNameRef)
                                                        fixed (void* definesRef_ = definesRef__)
                                                            fixed (void* hResultRef_ = &hResultRef)
                                                                __result__= 
                                                				D3DX10CreateEffectPoolFromResourceW_((void*)hModule, (void*)resourceNameRef_, (void*)srcFileNameRef_, definesRef_, (void*)includeRef, (void*)profileRef_, hLSLFlags, fXFlags, (void*)((deviceRef == null)?IntPtr.Zero:deviceRef.NativePointer), (void*)pumpRef, &effectPoolOut_, &errorsOut_, hResultRef_);		
                                                        if (definesRef != null )															
                                                        for (int i = 0; i < definesRef.Length; i++)
                                                            definesRef[i].__MarshalFree(ref definesRef__[i]);
                                                        Marshal.FreeHGlobal(profileRef_ );
                                                        effectPoolOut= (effectPoolOut_ == IntPtr.Zero)?null:new SharpDX.Direct3D10.EffectPool(effectPoolOut_);	
                                                        errorsOut= (errorsOut_ == IntPtr.Zero)?null:new SharpDX.Direct3D.Blob(errorsOut_);	
                                                        __result__.CheckError();
                                                    }
                                                }
                                                [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10CreateEffectPoolFromResourceW", CallingConvention = CallingConvention.StdCall)]
                                                private unsafe static extern int D3DX10CreateEffectPoolFromResourceW_(void* arg0,void* arg1,void* arg2,void* arg3,void* arg4,void* arg5,int arg6,int arg7,void* arg8,void* arg9,void* arg10,void* arg11,void* arg12);
                                                
                                                /// <summary>	
                                                /// <p>Create an effect pool from an effect file.</p>	
                                                /// </summary>	
                                                /// <param name="fileNameRef"><dd>  <p>The effect filename. If the compiler settings require Unicode, the data type LPCTSTR resolves to LPCWSTR. Otherwise, the data type resolves to LPCSTR.</p> </dd></param>	
                                                /// <param name="definesRef"><dd>  <p>A <c>null</c>-terminated array of shader macros (see <strong>D3D10_SHADER_MACRO</strong>); set this to <strong><c>null</c></strong> to specify no macros.</p> </dd></param>	
                                                /// <param name="includeRef"><dd>  <p>A reference to an include interface (see <strong>ID3D10Include Interface</strong>). This parameter can be <strong><c>null</c></strong>.</p> </dd></param>	
                                                /// <param name="profileRef"><dd>  <p>A string that specifies the shader profile, or shader model.</p> </dd></param>	
                                                /// <param name="hLSLFlags"><dd>  <p>HLSL compile options (see D3D10_SHADER Constants).</p> </dd></param>	
                                                /// <param name="fXFlags"><dd>  <p>Effect compile options (see Compile and Effect Flags).</p> </dd></param>	
                                                /// <param name="deviceRef"><dd>  <p>A reference to the device (see <strong><see cref="SharpDX.Direct3D10.Device"/> Interface</strong>) that will use the resources.</p> </dd></param>	
                                                /// <param name="pumpRef"><dd>  <p>A reference to a thread pump interface (see <strong><see cref="System.IntPtr"/> Interface</strong>). Use <strong><c>null</c></strong> to specify that this function should not return until it is completed.</p> </dd></param>	
                                                /// <param name="effectPoolOut"><dd>  <p>The address of a reference to the effect pool (see <strong><see cref="SharpDX.Direct3D10.EffectPool"/> Interface</strong>).</p> </dd></param>	
                                                /// <param name="errorsOut"><dd>  <p>The address of a reference to memory (see <strong><see cref="SharpDX.Direct3D.Blob"/> Interface</strong>) that contains effect compile errors, if there were any.</p> </dd></param>	
                                                /// <param name="hResultRef"><dd>  <p>A reference to the return value. May be <strong><c>null</c></strong>. If <em>pPump</em> is not <strong><c>null</c></strong>, then <em>pHResult</em> must be a valid memory location until the asynchronous execution completes.</p> </dd></param>	
                                                /// <returns><p>The return value is one of the values listed in Direct3D 10 Return Codes.</p></returns>	
                                                /// <remarks>	
                                                /// <p>This example creates an effect pool from the effect used in the BasicHLSL10 Sample.</p><pre> // Create an effect pool from an effect in memory	
                                                /// <see cref="SharpDX.Direct3D10.EffectPool"/> * l_pEffectPool = <c>null</c>;	
                                                /// <see cref="SharpDX.Direct3D.Blob"/>*	l_pBlob_Errors = <c>null</c>;	
                                                /// WCHAR str[MAX_PATH];	
                                                /// hr = DXUTFindDXSDKMediaFileCch( str, MAX_PATH, L"BasicHLSL10.fx" );	
                                                /// hr = <see cref="SharpDX.Direct3D10.D3DX10.CreateEffectPoolFromFile"/>( str,  <c>null</c>, <c>null</c>, D3D10_SHADER_ENABLE_STRICTNESS,  0, pd3dDevice, <c>null</c>, &amp;l_pEffectPool, &amp;l_pBlob_Errors );	
                                                /// </pre>	
                                                /// </remarks>	
                                                /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10CreateEffectPoolFromFileW']/*"/>	
                                                /// <msdn-id>bb172661</msdn-id>	
                                                /// <unmanaged>HRESULT D3DX10CreateEffectPoolFromFileW([In] const wchar_t* pFileName,[In, Buffer, Optional] const D3D_SHADER_MACRO* pDefines,[In] ID3DInclude* pInclude,[In] const char* pProfile,[In] unsigned int HLSLFlags,[In] unsigned int FXFlags,[In] ID3D10Device* pDevice,[In] ID3DX10ThreadPump* pPump,[In] ID3D10EffectPool** ppEffectPool,[In] ID3D10Blob** ppErrors,[Out] HRESULT* pHResult)</unmanaged>	
                                                /// <unmanaged-short>D3DX10CreateEffectPoolFromFileW</unmanaged-short>	
                                                public static void CreateEffectPoolFromFile(string fileNameRef, SharpDX.Direct3D.ShaderMacro[] definesRef, System.IntPtr includeRef, string profileRef, int hLSLFlags, int fXFlags, SharpDX.Direct3D10.Device deviceRef, System.IntPtr pumpRef, out SharpDX.Direct3D10.EffectPool effectPoolOut, out SharpDX.Direct3D.Blob errorsOut, out SharpDX.Result hResultRef) {
                                                    unsafe {
                                                        SharpDX.Direct3D.ShaderMacro.__Native[] definesRef__ = (definesRef == null)? null : new SharpDX.Direct3D.ShaderMacro.__Native[definesRef.Length];
                                        				if (definesRef != null)
                                                        for (int i = 0; i < definesRef.Length; i++)
                                                            definesRef[i].__MarshalTo(ref definesRef__[i]);				
                                                        IntPtr profileRef_ = Utilities.StringToHGlobalAnsi(profileRef);
                                                        IntPtr effectPoolOut_ = IntPtr.Zero;
                                                        IntPtr errorsOut_ = IntPtr.Zero;
                                                        hResultRef = new SharpDX.Result();
                                                        SharpDX.Result __result__;
                                                        fixed (char* fileNameRef_ = fileNameRef)
                                                            fixed (void* definesRef_ = definesRef__)
                                                                fixed (void* hResultRef_ = &hResultRef)
                                                                    __result__= 
                                                    				D3DX10CreateEffectPoolFromFileW_((void*)fileNameRef_, definesRef_, (void*)includeRef, (void*)profileRef_, hLSLFlags, fXFlags, (void*)((deviceRef == null)?IntPtr.Zero:deviceRef.NativePointer), (void*)pumpRef, &effectPoolOut_, &errorsOut_, hResultRef_);		
                                                            if (definesRef != null )															
                                                            for (int i = 0; i < definesRef.Length; i++)
                                                                definesRef[i].__MarshalFree(ref definesRef__[i]);
                                                            Marshal.FreeHGlobal(profileRef_ );
                                                            effectPoolOut= (effectPoolOut_ == IntPtr.Zero)?null:new SharpDX.Direct3D10.EffectPool(effectPoolOut_);	
                                                            errorsOut= (errorsOut_ == IntPtr.Zero)?null:new SharpDX.Direct3D.Blob(errorsOut_);	
                                                            __result__.CheckError();
                                                        }
                                                    }
                                                    [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10CreateEffectPoolFromFileW", CallingConvention = CallingConvention.StdCall)]
                                                    private unsafe static extern int D3DX10CreateEffectPoolFromFileW_(void* arg0,void* arg1,void* arg2,void* arg3,int arg4,int arg5,void* arg6,void* arg7,void* arg8,void* arg9,void* arg10);
                                                    
                                                    /// <summary>	
                                                    /// <p>Create an effect from a file.</p>	
                                                    /// </summary>	
                                                    /// <param name="fileNameRef"><dd>  <p>Name of the ASCII effect file. If the compiler settings require Unicode, the data type LPCTSTR resolves to LPCWSTR. Otherwise, the data type resolves to LPCSTR.</p> </dd></param>	
                                                    /// <param name="definesRef"><dd>  <p>A <c>null</c>-terminated array of shader macros (see <strong>D3D10_SHADER_MACRO</strong>); set this to <strong><c>null</c></strong> to specify no macros.</p> </dd></param>	
                                                    /// <param name="includeRef"><dd>  <p>A reference to an include interface (see <strong>ID3D10Include Interface</strong>). This parameter can be <strong><c>null</c></strong>.</p> </dd></param>	
                                                    /// <param name="profileRef"><dd>  <p>A string that specifies the shader profile, or shader model.</p> </dd></param>	
                                                    /// <param name="hLSLFlags"><dd>  <p>HLSL compile options (see D3D10_SHADER Constants).</p> </dd></param>	
                                                    /// <param name="fXFlags"><dd>  <p>Effect compile options (see Compile and Effect Flags).</p> </dd></param>	
                                                    /// <param name="deviceRef"><dd>  <p>A reference to the device (see <strong><see cref="SharpDX.Direct3D10.Device"/> Interface</strong>) that will use the resources.</p> </dd></param>	
                                                    /// <param name="effectPoolRef"><dd>  <p>Pointer to an effect pool (see <strong><see cref="SharpDX.Direct3D10.EffectPool"/> Interface</strong>) for sharing variables between effects.</p> </dd></param>	
                                                    /// <param name="pumpRef"><dd>  <p>A reference to a thread pump interface (see <strong><see cref="System.IntPtr"/> Interface</strong>). Use <strong><c>null</c></strong> to specify that this function should not return until it is completed.</p> </dd></param>	
                                                    /// <param name="effectOut"><dd>  <p>Address of a reference to the effect (see <strong><see cref="SharpDX.Direct3D10.Effect"/> Interface</strong>) that is created.</p> </dd></param>	
                                                    /// <param name="errorsOut"><dd>  <p>The address of a reference to memory (see <strong><see cref="SharpDX.Direct3D.Blob"/> Interface</strong>) that contains effect compile errors, if there were any.</p> </dd></param>	
                                                    /// <param name="hResultRef"><dd>  <p>A reference to the return value. May be <strong><c>null</c></strong>. If <em>pPump</em> is not <strong><c>null</c></strong>, then <em>pHResult</em> must be a valid memory location until the asynchronous execution completes.</p> </dd></param>	
                                                    /// <returns><p>The return value is one of the values listed in Direct3D 10 Return Codes.</p></returns>	
                                                    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10CreateEffectFromFileW']/*"/>	
                                                    /// <msdn-id>bb172658</msdn-id>	
                                                    /// <unmanaged>HRESULT D3DX10CreateEffectFromFileW([In] const wchar_t* pFileName,[In, Buffer, Optional] const D3D_SHADER_MACRO* pDefines,[In] ID3DInclude* pInclude,[In] const char* pProfile,[In] unsigned int HLSLFlags,[In] unsigned int FXFlags,[In] ID3D10Device* pDevice,[In] ID3D10EffectPool* pEffectPool,[In] ID3DX10ThreadPump* pPump,[In] ID3D10Effect** ppEffect,[In] ID3D10Blob** ppErrors,[Out] HRESULT* pHResult)</unmanaged>	
                                                    /// <unmanaged-short>D3DX10CreateEffectFromFileW</unmanaged-short>	
                                                    public static void CreateEffectFromFile(string fileNameRef, SharpDX.Direct3D.ShaderMacro[] definesRef, System.IntPtr includeRef, string profileRef, int hLSLFlags, int fXFlags, SharpDX.Direct3D10.Device deviceRef, SharpDX.Direct3D10.EffectPool effectPoolRef, System.IntPtr pumpRef, out SharpDX.Direct3D10.Effect effectOut, out SharpDX.Direct3D.Blob errorsOut, out SharpDX.Result hResultRef) {
                                                        unsafe {
                                                            SharpDX.Direct3D.ShaderMacro.__Native[] definesRef__ = (definesRef == null)? null : new SharpDX.Direct3D.ShaderMacro.__Native[definesRef.Length];
                                            				if (definesRef != null)
                                                            for (int i = 0; i < definesRef.Length; i++)
                                                                definesRef[i].__MarshalTo(ref definesRef__[i]);				
                                                            IntPtr profileRef_ = Utilities.StringToHGlobalAnsi(profileRef);
                                                            IntPtr effectOut_ = IntPtr.Zero;
                                                            IntPtr errorsOut_ = IntPtr.Zero;
                                                            hResultRef = new SharpDX.Result();
                                                            SharpDX.Result __result__;
                                                            fixed (char* fileNameRef_ = fileNameRef)
                                                                fixed (void* definesRef_ = definesRef__)
                                                                    fixed (void* hResultRef_ = &hResultRef)
                                                                        __result__= 
                                                        				D3DX10CreateEffectFromFileW_((void*)fileNameRef_, definesRef_, (void*)includeRef, (void*)profileRef_, hLSLFlags, fXFlags, (void*)((deviceRef == null)?IntPtr.Zero:deviceRef.NativePointer), (void*)((effectPoolRef == null)?IntPtr.Zero:effectPoolRef.NativePointer), (void*)pumpRef, &effectOut_, &errorsOut_, hResultRef_);		
                                                                if (definesRef != null )															
                                                                for (int i = 0; i < definesRef.Length; i++)
                                                                    definesRef[i].__MarshalFree(ref definesRef__[i]);
                                                                Marshal.FreeHGlobal(profileRef_ );
                                                                effectOut= (effectOut_ == IntPtr.Zero)?null:new SharpDX.Direct3D10.Effect(effectOut_);	
                                                                errorsOut= (errorsOut_ == IntPtr.Zero)?null:new SharpDX.Direct3D.Blob(errorsOut_);	
                                                                __result__.CheckError();
                                                            }
                                                        }
                                                        [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10CreateEffectFromFileW", CallingConvention = CallingConvention.StdCall)]
                                                        private unsafe static extern int D3DX10CreateEffectFromFileW_(void* arg0,void* arg1,void* arg2,void* arg3,int arg4,int arg5,void* arg6,void* arg7,void* arg8,void* arg9,void* arg10,void* arg11);
                                                        
                                                        /// <summary>	
                                                        /// <p>Create an effect from memory.</p>	
                                                        /// </summary>	
                                                        /// <param name="dataRef"><dd>  <p>Pointer to the effect in memory.</p> </dd></param>	
                                                        /// <param name="dataLength"><dd>  <p>Size of the effect in memory.</p> </dd></param>	
                                                        /// <param name="srcFileNameRef"><dd>  <p>Name of the effect file in memory.</p> </dd></param>	
                                                        /// <param name="definesRef"><dd>  <p>A <c>null</c>-terminated array of shader macros (see <strong>D3D10_SHADER_MACRO</strong>); set this to <strong><c>null</c></strong> to specify no macros.</p> </dd></param>	
                                                        /// <param name="includeRef"><dd>  <p>A reference to an include interface (see <strong>ID3D10Include Interface</strong>). This parameter can be <strong><c>null</c></strong>.</p> </dd></param>	
                                                        /// <param name="profileRef"><dd>  <p>A string that specifies the shader profile, or shader model.</p> </dd></param>	
                                                        /// <param name="hLSLFlags"><dd>  <p>HLSL compile options (see D3D10_SHADER Constants).</p> </dd></param>	
                                                        /// <param name="fXFlags"><dd>  <p>Effect compile options (see D3D10_EFFECT Constants).</p> </dd></param>	
                                                        /// <param name="deviceRef"><dd>  <p>A reference to the device (see <strong><see cref="SharpDX.Direct3D10.Device"/> Interface</strong>) that will use the resources.</p> </dd></param>	
                                                        /// <param name="effectPoolRef"><dd>  <p>Pointer to an effect pool (see <strong><see cref="SharpDX.Direct3D10.EffectPool"/> Interface</strong>) for sharing variables between effects.</p> </dd></param>	
                                                        /// <param name="pumpRef"><dd>  <p>A reference to a thread pump interface (see <strong><see cref="System.IntPtr"/> Interface</strong>). Use <strong><c>null</c></strong> to specify that this function should not return until it is completed.</p> </dd></param>	
                                                        /// <param name="effectOut"><dd>  <p>Address of a reference to the effect (see <strong><see cref="SharpDX.Direct3D10.Effect"/> Interface</strong>) that is created.</p> </dd></param>	
                                                        /// <param name="errorsOut"><dd>  <p>The address of a reference to memory (see <strong><see cref="SharpDX.Direct3D.Blob"/> Interface</strong>) that contains effect compile errors, if there were any.</p> </dd></param>	
                                                        /// <param name="hResultRef"><dd>  <p>A reference to the return value. May be <strong><c>null</c></strong>. If <em>pPump</em> is not <strong><c>null</c></strong>, then <em>pHResult</em> must be a valid memory location until the asynchronous execution completes.</p> </dd></param>	
                                                        /// <returns><p>The return value is one of the values listed in Direct3D 10 Return Codes.</p></returns>	
                                                        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10CreateEffectFromMemory']/*"/>	
                                                        /// <msdn-id>bb172659</msdn-id>	
                                                        /// <unmanaged>HRESULT D3DX10CreateEffectFromMemory([In] const void* pData,[In] SIZE_T DataLength,[In] const char* pSrcFileName,[In, Buffer, Optional] const D3D_SHADER_MACRO* pDefines,[In] ID3DInclude* pInclude,[In] const char* pProfile,[In] unsigned int HLSLFlags,[In] unsigned int FXFlags,[In] ID3D10Device* pDevice,[In] ID3D10EffectPool* pEffectPool,[In] ID3DX10ThreadPump* pPump,[In] ID3D10Effect** ppEffect,[In] ID3D10Blob** ppErrors,[Out] HRESULT* pHResult)</unmanaged>	
                                                        /// <unmanaged-short>D3DX10CreateEffectFromMemory</unmanaged-short>	
                                                        public static void CreateEffectFromMemory(System.IntPtr dataRef, SharpDX.PointerSize dataLength, string srcFileNameRef, SharpDX.Direct3D.ShaderMacro[] definesRef, System.IntPtr includeRef, string profileRef, int hLSLFlags, int fXFlags, SharpDX.Direct3D10.Device deviceRef, SharpDX.Direct3D10.EffectPool effectPoolRef, System.IntPtr pumpRef, out SharpDX.Direct3D10.Effect effectOut, out SharpDX.Direct3D.Blob errorsOut, out SharpDX.Result hResultRef) {
                                                            unsafe {
                                                                IntPtr srcFileNameRef_ = Utilities.StringToHGlobalAnsi(srcFileNameRef);
                                                                SharpDX.Direct3D.ShaderMacro.__Native[] definesRef__ = (definesRef == null)? null : new SharpDX.Direct3D.ShaderMacro.__Native[definesRef.Length];
                                                				if (definesRef != null)
                                                                for (int i = 0; i < definesRef.Length; i++)
                                                                    definesRef[i].__MarshalTo(ref definesRef__[i]);				
                                                                IntPtr profileRef_ = Utilities.StringToHGlobalAnsi(profileRef);
                                                                IntPtr effectOut_ = IntPtr.Zero;
                                                                IntPtr errorsOut_ = IntPtr.Zero;
                                                                hResultRef = new SharpDX.Result();
                                                                SharpDX.Result __result__;
                                                                fixed (void* definesRef_ = definesRef__)
                                                                    fixed (void* hResultRef_ = &hResultRef)
                                                                        __result__= 
                                                        				D3DX10CreateEffectFromMemory_((void*)dataRef, (void*)dataLength, (void*)srcFileNameRef_, definesRef_, (void*)includeRef, (void*)profileRef_, hLSLFlags, fXFlags, (void*)((deviceRef == null)?IntPtr.Zero:deviceRef.NativePointer), (void*)((effectPoolRef == null)?IntPtr.Zero:effectPoolRef.NativePointer), (void*)pumpRef, &effectOut_, &errorsOut_, hResultRef_);		
                                                                Marshal.FreeHGlobal(srcFileNameRef_ );
                                                                if (definesRef != null )															
                                                                for (int i = 0; i < definesRef.Length; i++)
                                                                    definesRef[i].__MarshalFree(ref definesRef__[i]);
                                                                Marshal.FreeHGlobal(profileRef_ );
                                                                effectOut= (effectOut_ == IntPtr.Zero)?null:new SharpDX.Direct3D10.Effect(effectOut_);	
                                                                errorsOut= (errorsOut_ == IntPtr.Zero)?null:new SharpDX.Direct3D.Blob(errorsOut_);	
                                                                __result__.CheckError();
                                                            }
                                                        }
                                                        [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10CreateEffectFromMemory", CallingConvention = CallingConvention.StdCall)]
                                                        private unsafe static extern int D3DX10CreateEffectFromMemory_(void* arg0,void* arg1,void* arg2,void* arg3,void* arg4,void* arg5,int arg6,int arg7,void* arg8,void* arg9,void* arg10,void* arg11,void* arg12,void* arg13);
                                                        
                                                        /// <summary>	
                                                        /// <p>Create an effect pool from an effect in memory.</p>	
                                                        /// </summary>	
                                                        /// <param name="dataRef"><dd>  <p>A reference to the effect.</p> </dd></param>	
                                                        /// <param name="dataLength"><dd>  <p>The size of the effect.</p> </dd></param>	
                                                        /// <param name="srcFileNameRef"><dd>  <p>The name of the effect file.</p> </dd></param>	
                                                        /// <param name="definesRef"><dd>  <p>A <c>null</c>-terminated array of shader macros (see <strong>D3D10_SHADER_MACRO</strong>); set this to <strong><c>null</c></strong> to specify no macros.</p> </dd></param>	
                                                        /// <param name="includeRef"><dd>  <p>A reference to an include interface (see <strong>ID3D10Include Interface</strong>). This parameter can be <strong><c>null</c></strong>.</p> </dd></param>	
                                                        /// <param name="profileRef"><dd>  <p>A string that specifies the shader profile, or shader model.</p> </dd></param>	
                                                        /// <param name="hLSLFlags"><dd>  <p>HLSL compile options (see D3D10_SHADER Constants).</p> </dd></param>	
                                                        /// <param name="fXFlags"><dd>  <p>Effect compile options (see Compile and Effect Flags).</p> </dd></param>	
                                                        /// <param name="deviceRef"><dd>  <p>A reference to the device (see <strong><see cref="SharpDX.Direct3D10.Device"/> Interface</strong>) that will use the resources.</p> </dd></param>	
                                                        /// <param name="pumpRef"><dd>  <p>A reference to a thread pump interface (see <strong><see cref="System.IntPtr"/> Interface</strong>). Use <strong><c>null</c></strong> to specify that this function should not return until it is completed.</p> </dd></param>	
                                                        /// <param name="effectPoolOut"><dd>  <p>The address of a reference to the effect pool (see <strong><see cref="SharpDX.Direct3D10.EffectPool"/> Interface</strong>).</p> </dd></param>	
                                                        /// <param name="errorsOut"><dd>  <p>The address of a reference to memory (see <strong><see cref="SharpDX.Direct3D.Blob"/> Interface</strong>) that contains effect compile errors, if there were any.</p> </dd></param>	
                                                        /// <param name="hResultRef"><dd>  <p>A reference to the return value. May be <strong><c>null</c></strong>. If <em>pPump</em> is not <strong><c>null</c></strong>, then <em>pHResult</em> must be a valid memory location until the asynchronous execution completes.</p> </dd></param>	
                                                        /// <returns><p>Returns one of the following Direct3D 10 Return Codes.</p></returns>	
                                                        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10CreateEffectPoolFromMemory']/*"/>	
                                                        /// <msdn-id>bb172662</msdn-id>	
                                                        /// <unmanaged>HRESULT D3DX10CreateEffectPoolFromMemory([In] const void* pData,[In] SIZE_T DataLength,[In] const char* pSrcFileName,[In, Buffer, Optional] const D3D_SHADER_MACRO* pDefines,[In] ID3DInclude* pInclude,[In] const char* pProfile,[In] unsigned int HLSLFlags,[In] unsigned int FXFlags,[In] ID3D10Device* pDevice,[In] ID3DX10ThreadPump* pPump,[In] ID3D10EffectPool** ppEffectPool,[In] ID3D10Blob** ppErrors,[Out] HRESULT* pHResult)</unmanaged>	
                                                        /// <unmanaged-short>D3DX10CreateEffectPoolFromMemory</unmanaged-short>	
                                                        public static void CreateEffectPoolFromMemory(System.IntPtr dataRef, SharpDX.PointerSize dataLength, string srcFileNameRef, SharpDX.Direct3D.ShaderMacro[] definesRef, System.IntPtr includeRef, string profileRef, int hLSLFlags, int fXFlags, SharpDX.Direct3D10.Device deviceRef, System.IntPtr pumpRef, out SharpDX.Direct3D10.EffectPool effectPoolOut, out SharpDX.Direct3D.Blob errorsOut, out SharpDX.Result hResultRef) {
                                                            unsafe {
                                                                IntPtr srcFileNameRef_ = Utilities.StringToHGlobalAnsi(srcFileNameRef);
                                                                SharpDX.Direct3D.ShaderMacro.__Native[] definesRef__ = (definesRef == null)? null : new SharpDX.Direct3D.ShaderMacro.__Native[definesRef.Length];
                                                				if (definesRef != null)
                                                                for (int i = 0; i < definesRef.Length; i++)
                                                                    definesRef[i].__MarshalTo(ref definesRef__[i]);				
                                                                IntPtr profileRef_ = Utilities.StringToHGlobalAnsi(profileRef);
                                                                IntPtr effectPoolOut_ = IntPtr.Zero;
                                                                IntPtr errorsOut_ = IntPtr.Zero;
                                                                hResultRef = new SharpDX.Result();
                                                                SharpDX.Result __result__;
                                                                fixed (void* definesRef_ = definesRef__)
                                                                    fixed (void* hResultRef_ = &hResultRef)
                                                                        __result__= 
                                                        				D3DX10CreateEffectPoolFromMemory_((void*)dataRef, (void*)dataLength, (void*)srcFileNameRef_, definesRef_, (void*)includeRef, (void*)profileRef_, hLSLFlags, fXFlags, (void*)((deviceRef == null)?IntPtr.Zero:deviceRef.NativePointer), (void*)pumpRef, &effectPoolOut_, &errorsOut_, hResultRef_);		
                                                                Marshal.FreeHGlobal(srcFileNameRef_ );
                                                                if (definesRef != null )															
                                                                for (int i = 0; i < definesRef.Length; i++)
                                                                    definesRef[i].__MarshalFree(ref definesRef__[i]);
                                                                Marshal.FreeHGlobal(profileRef_ );
                                                                effectPoolOut= (effectPoolOut_ == IntPtr.Zero)?null:new SharpDX.Direct3D10.EffectPool(effectPoolOut_);	
                                                                errorsOut= (errorsOut_ == IntPtr.Zero)?null:new SharpDX.Direct3D.Blob(errorsOut_);	
                                                                __result__.CheckError();
                                                            }
                                                        }
                                                        [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10CreateEffectPoolFromMemory", CallingConvention = CallingConvention.StdCall)]
                                                        private unsafe static extern int D3DX10CreateEffectPoolFromMemory_(void* arg0,void* arg1,void* arg2,void* arg3,void* arg4,void* arg5,int arg6,int arg7,void* arg8,void* arg9,void* arg10,void* arg11,void* arg12);
                                                        
                                                        /// <summary>	
                                                        /// <p>Create an effect from a resource.</p>	
                                                        /// </summary>	
                                                        /// <param name="hModule"><dd>  <p>A handle to the resource module containing the effect. HMODULE can be obtained with GetModuleHandle Function.</p> </dd></param>	
                                                        /// <param name="resourceNameRef"><dd>  <p>Name of the resource in hModule. If the compiler settings require Unicode, the data type LPCTSTR resolves to LPCWSTR. Otherwise, the data type resolves to LPCSTR.</p> </dd></param>	
                                                        /// <param name="srcFileNameRef"><dd>  <p>Optional. Effect file name, which is used for error messages only. Can be <strong><c>null</c></strong>.</p> </dd></param>	
                                                        /// <param name="definesRef"><dd>  <p>A <c>null</c>-terminated array of shader macros (see <strong>D3D10_SHADER_MACRO</strong>); set this to <strong><c>null</c></strong> to specify no macros.</p> </dd></param>	
                                                        /// <param name="includeRef"><dd>  <p>A reference to an include interface (see <strong>ID3D10Include Interface</strong>). This parameter can be <strong><c>null</c></strong>.</p> </dd></param>	
                                                        /// <param name="profileRef"><dd>  <p>A string that specifies the shader profile, or shader model.</p> </dd></param>	
                                                        /// <param name="hLSLFlags"><dd>  <p>HLSL compile options (see D3D10_SHADER Constants).</p> </dd></param>	
                                                        /// <param name="fXFlags"><dd>  <p>Effect compile options (see Compile and Effect Flags).</p> </dd></param>	
                                                        /// <param name="deviceRef"><dd>  <p>A reference to the device (see <strong><see cref="SharpDX.Direct3D10.Device"/> Interface</strong>) that will use the resources.</p> </dd></param>	
                                                        /// <param name="effectPoolRef"><dd>  <p>Pointer to an effect pool (see <strong><see cref="SharpDX.Direct3D10.EffectPool"/> Interface</strong>) for sharing variables between effects.</p> </dd></param>	
                                                        /// <param name="pumpRef"><dd>  <p>A reference to a thread pump interface (see <strong><see cref="System.IntPtr"/> Interface</strong>). Use <strong><c>null</c></strong> to specify that this function should not return until it is completed.</p> </dd></param>	
                                                        /// <param name="effectOut"><dd>  <p>Address of a reference to the effect (see <strong><see cref="SharpDX.Direct3D10.Effect"/> Interface</strong>) that is created.</p> </dd></param>	
                                                        /// <param name="errorsOut"><dd>  <p>The address of a reference to memory (see <strong><see cref="SharpDX.Direct3D.Blob"/> Interface</strong>) that contains effect compile errors, if there were any.</p> </dd></param>	
                                                        /// <param name="hResultRef"><dd>  <p>A reference to the return value. May be <strong><c>null</c></strong>. If <em>pPump</em> is not <strong><c>null</c></strong>, then <em>pHResult</em> must be a valid memory location until the asynchronous execution completes.</p> </dd></param>	
                                                        /// <returns><p>The return value is one of the values listed in Direct3D 10 Return Codes.</p></returns>	
                                                        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10CreateEffectFromResourceW']/*"/>	
                                                        /// <msdn-id>bb172660</msdn-id>	
                                                        /// <unmanaged>HRESULT D3DX10CreateEffectFromResourceW([In] HINSTANCE hModule,[In] const wchar_t* pResourceName,[In] const wchar_t* pSrcFileName,[In, Buffer, Optional] const D3D_SHADER_MACRO* pDefines,[In] ID3DInclude* pInclude,[In] const char* pProfile,[In] unsigned int HLSLFlags,[In] unsigned int FXFlags,[In] ID3D10Device* pDevice,[In] ID3D10EffectPool* pEffectPool,[In] ID3DX10ThreadPump* pPump,[In] ID3D10Effect** ppEffect,[In] ID3D10Blob** ppErrors,[Out] HRESULT* pHResult)</unmanaged>	
                                                        /// <unmanaged-short>D3DX10CreateEffectFromResourceW</unmanaged-short>	
                                                        public static void CreateEffectFromResource(System.IntPtr hModule, string resourceNameRef, string srcFileNameRef, SharpDX.Direct3D.ShaderMacro[] definesRef, System.IntPtr includeRef, string profileRef, int hLSLFlags, int fXFlags, SharpDX.Direct3D10.Device deviceRef, SharpDX.Direct3D10.EffectPool effectPoolRef, System.IntPtr pumpRef, out SharpDX.Direct3D10.Effect effectOut, out SharpDX.Direct3D.Blob errorsOut, out SharpDX.Result hResultRef) {
                                                            unsafe {
                                                                SharpDX.Direct3D.ShaderMacro.__Native[] definesRef__ = (definesRef == null)? null : new SharpDX.Direct3D.ShaderMacro.__Native[definesRef.Length];
                                                				if (definesRef != null)
                                                                for (int i = 0; i < definesRef.Length; i++)
                                                                    definesRef[i].__MarshalTo(ref definesRef__[i]);				
                                                                IntPtr profileRef_ = Utilities.StringToHGlobalAnsi(profileRef);
                                                                IntPtr effectOut_ = IntPtr.Zero;
                                                                IntPtr errorsOut_ = IntPtr.Zero;
                                                                hResultRef = new SharpDX.Result();
                                                                SharpDX.Result __result__;
                                                                fixed (char* resourceNameRef_ = resourceNameRef)
                                                                    fixed (char* srcFileNameRef_ = srcFileNameRef)
                                                                        fixed (void* definesRef_ = definesRef__)
                                                                            fixed (void* hResultRef_ = &hResultRef)
                                                                                __result__= 
                                                                				D3DX10CreateEffectFromResourceW_((void*)hModule, (void*)resourceNameRef_, (void*)srcFileNameRef_, definesRef_, (void*)includeRef, (void*)profileRef_, hLSLFlags, fXFlags, (void*)((deviceRef == null)?IntPtr.Zero:deviceRef.NativePointer), (void*)((effectPoolRef == null)?IntPtr.Zero:effectPoolRef.NativePointer), (void*)pumpRef, &effectOut_, &errorsOut_, hResultRef_);		
                                                                        if (definesRef != null )															
                                                                        for (int i = 0; i < definesRef.Length; i++)
                                                                            definesRef[i].__MarshalFree(ref definesRef__[i]);
                                                                        Marshal.FreeHGlobal(profileRef_ );
                                                                        effectOut= (effectOut_ == IntPtr.Zero)?null:new SharpDX.Direct3D10.Effect(effectOut_);	
                                                                        errorsOut= (errorsOut_ == IntPtr.Zero)?null:new SharpDX.Direct3D.Blob(errorsOut_);	
                                                                        __result__.CheckError();
                                                                    }
                                                                }
                                                                [DllImport("d3dx10_43.dll", EntryPoint = "D3DX10CreateEffectFromResourceW", CallingConvention = CallingConvention.StdCall)]
                                                                private unsafe static extern int D3DX10CreateEffectFromResourceW_(void* arg0,void* arg1,void* arg2,void* arg3,void* arg4,void* arg5,int arg6,int arg7,void* arg8,void* arg9,void* arg10,void* arg11,void* arg12,void* arg13);
                                                            }
                                                        }
